Requete imbriquée
Résolu
gvc001
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
gvc001 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
gvc001 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour ,
je me bats avec cette requete depuis hier,
au fait , je souhaiterai avoir mon affichage de cette maniere :
le nombre d'incident ouvert n 'est pas forcement egal à celui fermé dans la logique de ma requete sur un intervalle de date.
OUVERT FERME ENTITE
29 29 BAD
135 135 CRC
24 24 ISIM
2 2 IST
10 10 PIM
sauf que cette requete me renvoie la valeur de fermer sur le champs ouvert.
SELECT COUNT( t1.id_ticket ) AS OUVERT, COUNT( t2.id_ticket ) AS FERME, t1.ENTITE
FROM 'tab_ars1' t1, 'tab_ars1' t2
WHERE (
t2.ENTITE = t1.ENTITE
AND t1.date_creation = t2.date_creation
)
AND (
t2.date_creation
BETWEEN '2010-01-31 00:00:00'
AND '2010-02-28 00:00:00'
)
AND (
t1.etat <> 'Fermé'
OR t2.etat <> 'Résolu'
)
AND (
t2.etat = 'Fermé'
OR t2.etat = 'Résolu'
)
GROUP BY t1.ENTITE
Merci de votre aide,
Amicalement
je me bats avec cette requete depuis hier,
au fait , je souhaiterai avoir mon affichage de cette maniere :
le nombre d'incident ouvert n 'est pas forcement egal à celui fermé dans la logique de ma requete sur un intervalle de date.
OUVERT FERME ENTITE
29 29 BAD
135 135 CRC
24 24 ISIM
2 2 IST
10 10 PIM
sauf que cette requete me renvoie la valeur de fermer sur le champs ouvert.
SELECT COUNT( t1.id_ticket ) AS OUVERT, COUNT( t2.id_ticket ) AS FERME, t1.ENTITE
FROM 'tab_ars1' t1, 'tab_ars1' t2
WHERE (
t2.ENTITE = t1.ENTITE
AND t1.date_creation = t2.date_creation
)
AND (
t2.date_creation
BETWEEN '2010-01-31 00:00:00'
AND '2010-02-28 00:00:00'
)
AND (
t1.etat <> 'Fermé'
OR t2.etat <> 'Résolu'
)
AND (
t2.etat = 'Fermé'
OR t2.etat = 'Résolu'
)
GROUP BY t1.ENTITE
Merci de votre aide,
Amicalement
A voir également:
- Requete imbriquée
- Liste imbriquée excel - Guide
- Erreur de requete facebook - Forum Facebook
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ? ✓ - Forum Loisirs / Divertissements
4 réponses
tu a combien de possibilité pour tes états? résolut, fermer, en cours?
car ce code :
est un peu inutile :o
en gros tu dis je veux que a soit different de 1 et que a = 2
tu simplifie par a = 2 et c'est bon
de plus
c'est normal?
tu veux les résultats pour fermer et résolut? ou c'est une erreur
Cordialement
Dragondark de lonlindil
LE POUVOIR EST NOTRE GLOIRE
LE COEUR NOTRE HONNEUR
car ce code :
AND ( t1.etat <> 'Fermé' OR t2.etat <> 'Résolu' ) AND ( t2.etat = 'Fermé' OR t2.etat = 'Résolu' )
est un peu inutile :o
en gros tu dis je veux que a soit different de 1 et que a = 2
tu simplifie par a = 2 et c'est bon
t1.etat <> 'Fermé' and( t2.etat = 'Fermé' OR t2.etat = 'Résolu')
de plus
AND ( t2.etat = 'Fermé' OR t2.etat = 'Résolu' )</code>
c'est normal?
tu veux les résultats pour fermer et résolut? ou c'est une erreur
Cordialement
Dragondark de lonlindil
LE POUVOIR EST NOTRE GLOIRE
LE COEUR NOTRE HONNEUR
slt,
Merci pour ton intêret.
ma requête doit afficher tous les incident suivant leur appartenance au champs ENTITE qui sont crées (Ouvert peut importe mais si elle sont fermés par la suite ou aussitot) sur l'intervalle d'une date et ceux là qui sont fermés sur le même intervalle.
En d'autre terme , on peut compter un incident à la fois cré et fermé.
En un mot : Tous les incident crés sur une periode et tous ceux qui sont fermés.
un incident peu être cré et fermé
Je ne me base que sur la date de création sachant qu'aussi bien ceux Fermé ou résolu et ceux non fermé doivent au préalable être créé à cette intervalle de Date.
je galere avec cette requete
Merci de votre aide
Merci pour ton intêret.
ma requête doit afficher tous les incident suivant leur appartenance au champs ENTITE qui sont crées (Ouvert peut importe mais si elle sont fermés par la suite ou aussitot) sur l'intervalle d'une date et ceux là qui sont fermés sur le même intervalle.
En d'autre terme , on peut compter un incident à la fois cré et fermé.
En un mot : Tous les incident crés sur une periode et tous ceux qui sont fermés.
un incident peu être cré et fermé
Je ne me base que sur la date de création sachant qu'aussi bien ceux Fermé ou résolu et ceux non fermé doivent au préalable être créé à cette intervalle de Date.
je galere avec cette requete
Merci de votre aide
je n'ai pas tous compris mais ton erreur viens pas de ca? :
?
sinon :
ca ca te donne les id des ticket qui sont aps fermer
ca ceux qui son fermer et fini
c'est ca?
Cordialement
Dragondark de lonlindil
LE POUVOIR EST NOTRE GLOIRE
LE COEUR NOTRE HONNEUR
AND ( t1.etat <> 'Fermé' OR t2.etat <> 'Résolu' ) AND ( t2.etat = 'Fermé' OR t2.etat = 'Résolu' )
?
t2.etat <> 'Résolu' OR t2.etat = 'Résolu'
sinon :
select id_ticket from tab_ars1 where t2.date_creation BETWEEN '2010-01-31 00:00:00' AND '2010-02-28 00:00:00' AND etat <> 'fermer'
ca ca te donne les id des ticket qui sont aps fermer
select id_ticket from tab_ars1 where t2.date_creation BETWEEN '2010-01-31 00:00:00' AND '2010-02-28 00:00:00' AND (etat = 'fermer' OR t2.etat = 'Résolu')
ca ceux qui son fermer et fini
SELECT COUNT( t1.id_ticket ) AS OUVERT, COUNT( t2.id_ticket ) AS FERME, t1.ENTITE FROM 'tab_ars1' t1, 'tab_ars1' t2 WHERE (t1.id_ticket in (select id_ticket from tab_ars1 where t2.date_creation BETWEEN '2010-01-31 00:00:00' AND '2010-02-28 00:00:00' AND (etat = 'fermer' OR t2.etat = 'Résolu')) ) AND ( t2.id_ticket in (select id_ticket from tab_ars1 where t2.date_creation BETWEEN '2010-01-31 00:00:00' AND '2010-02-28 00:00:00' AND etat <> 'fermer'))
c'est ca?
Cordialement
Dragondark de lonlindil
LE POUVOIR EST NOTRE GLOIRE
LE COEUR NOTRE HONNEUR
slt
j'ai utilisé finalement les jointures et ça marche :
Merci de vos inspirations.
on ne sait jamais ça peut aider :
SELECT t1.entite, COUNT( t2.date_creation ) AS CREES, count(t3.id_ticket) AS FERME
FROM tab_ars1 AS T1
JOIN tab_ars1 AS T2 ON T1.entite = T2.entite AND t2.id_ticket= t1.id_ticket
LEFT JOIN tab_ars1 AS T3
ON T1.entite = T3.entite
AND t3.id_ticket= t1.id_ticket
AND t3.etat = 'Fermé'
WHERE t2.date_creation > '2010-01-31'
AND t2.date_creation < '2010-02-28'
GROUP BY t1.entite
j'ai utilisé finalement les jointures et ça marche :
Merci de vos inspirations.
on ne sait jamais ça peut aider :
SELECT t1.entite, COUNT( t2.date_creation ) AS CREES, count(t3.id_ticket) AS FERME
FROM tab_ars1 AS T1
JOIN tab_ars1 AS T2 ON T1.entite = T2.entite AND t2.id_ticket= t1.id_ticket
LEFT JOIN tab_ars1 AS T3
ON T1.entite = T3.entite
AND t3.id_ticket= t1.id_ticket
AND t3.etat = 'Fermé'
WHERE t2.date_creation > '2010-01-31'
AND t2.date_creation < '2010-02-28'
GROUP BY t1.entite