Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2011, 10h15   #1
Invité de passage
 
Femme
Étudiant
Inscription : avril 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 32
Points : 0
Points : 0
Par défaut Requete sql retourne un mauvais résultat

Bonjour
j'ai une requete qui répète un ligne plusieurs fois je ne sais pas pourquoi!

C'est mon requete , si veux pouvez m'aider en suivant la logique puisque je sais que la requete est un peu compliquée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
SELECT   floor((a.created-c.created)*24)       || ' HOURS ' ||        mod(floor((a.created-c.created)*24*60),60)      || ' MINUTES ' ,a.pkey AS AssignedGroupResponseTime,a.pkey,d.newString AS AssignedGroup 
 FROM 
( SELECT g.created,g.issueid AS groupid1, ji.pkey ,ci.newString FROM   changegroup g JOIN   jiraissue ji ON (ji.id = g.issueid) JOIN   changeitem ci ON (ci.groupid = g.id)
 WHERE (g.created, ji.pkey) IN ( SELECT min(g.created) ,ji.pkey 
 FROM   changegroup g 
JOIN   changeitem ci ON (ci.groupid = g.id) 
JOIN   jiraissue ji ON (ji.id = g.issueid) 
JOIN   project p ON (p.id = ji.project) 
JOIN   priority pr ON (pr.id = ji.priority)
 WHERE  ci.FIELD = 'Group' 
AND  ci.oldString LIKE 'Triage' 
 AND  p.pname = 'project'
 AND pr.pname='P3' 
AND  ji.created BETWEEN '01/03/2011' AND  '16/08/2011' GROUP BY ji.pkey )) a LEFT JOIN 
  ( SELECT ji.created, ji.id AS groupid2 ,ji.pkey ,ci.newString     
 FROM   jiraissue ji     JOIN   changegroup g ON (g.issueid = ji.id)  
   JOIN   changeitem ci ON (ci.groupid = g.id) 
    JOIN   project p ON (p.id = ji.project)  
   WHERE  p.pname = 'project'   
  AND ci.FIELD = 'Group'   
  AND  ci.oldString LIKE 'Triage'    
  AND  ji.created BETWEEN '01/03/2011' AND  '16/08/2011'   ) b
 ON ( a.pkey = b.pkey)    
LEFT JOIN (   SELECT g.created, g.issueid AS groupid1 ,ji.pkey ,ci.newString     FROM   changegroup g  
   JOIN   jiraissue ji ON (ji.id = g.issueid)      
JOIN   changeitem ci ON (ci.groupid = g.id)    
 WHERE (g.created, ji.pkey) IN
 (  SELECT min(g.created) ,ji.pkey     FROM   changegroup g   
  JOIN   changeitem ci ON (ci.groupid = g.id)  
   JOIN   jiraissue ji ON (ji.id = g.issueid)    
   JOIN   project p ON (p.id = ji.project)  
   JOIN   priority pr ON (pr.id = ji.priority)    
   WHERE ci.FIELD='assignee'    
   AND ci.newString IS NOT NULL      
   AND  p.pname = 'project' 
    AND pr.pname='P3'   
   AND ji.created BETWEEN '01/03/2011' AND  '16/08/2011'   
   GROUP BY ji.pkey)) c     
  ON (c.pkey = a.pkey)  
    LEFT JOIN (   
    SELECT g.created, g.issueid AS groupid1 ,ji.pkey ,ci.newString    
    FROM   changegroup g  
    JOIN   jiraissue ji ON (ji.id = g.issueid)   
    JOIN   changeitem ci ON (ci.groupid = g.id)    
    WHERE (g.created, ji.pkey) 
    IN (     SELECT min(g.created) ,ji.pkey    
    FROM   changegroup g    
    JOIN   changeitem ci ON (ci.groupid = g.id)  
    JOIN   jiraissue ji ON (ji.id = g.issueid)  
    JOIN   project p ON (p.id = ji.project)  
   JOIN   priority pr ON (pr.id = ji.priority)      
   WHERE ci.FIELD='assigned group'    
    AND ci.newString IS NOT NULL    
   AND  p.pname = 'project'   
    AND pr.pname='P3'   
    AND  ji.created BETWEEN '01/03/2011' AND  '16/08/2011'    
   GROUP BY ji.pkey)) d   
   ON (d.pkey = c.pkey);
ramoucha23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 10h51   #2
Membre éclairé
 
Avatar de boussafi
 
Homme
Ingénieur développement logiciels
Inscription : septembre 2007
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 342
Points : 397
Points : 397
Envoyer un message via Yahoo à boussafi Envoyer un message via Skype™ à boussafi
sans rentrer dans le detaille de ta requete, si tu as des lignes qui se repetent(identiques) tu utilise
boussafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h11   #3
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Le DISTINCT est un pansement !

Il faut analyser la requete pour savoir ce qui provoque les retours multiples (Condition de jointure, prédicats érronés, mauvaises conditions de regroupement...).
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h35.


 
 
 
 
Partenaires

Hébergement Web