[SQL] Problème de group by
Salut !
J'ai un petit souci avec une requête qui utilise une clause group by.
Code:
1 2 3 4 5 6 7 8 9
|
SELECT demande.id, demande.date_creation, compte.nom, civilite.libelle || ' ' || contact.nom INTITULE, demande.commentaire, SUM(recherche.nb_inter) INTER
FROM demande, contact, compte, civilite, recherche
WHERE demande.id_contact = contact.id
AND contact.id_compte = compte.id
AND civilite.id = contact.id_civilite
AND recherche.id_demande = demande.id
AND compte.id=120
GROUP BY demande.id, demande.date_creation, compte.nom, civilite.libelle || ' ' || contact.nom, demande.commentaire; |
Je cherche a extraire les demandes d'un compte et pour chacune de ces demandes, je fais la somme des intervenants (recherche.nb_inter). Le problème est que dans ma table demande, j'ai 10 enregistrement pour le compte n° 120 et seulement 2 demandes sont retournées. Dans la table recherche, j'ai définit un nombre d'intervenants pour seulement 2 demandes (parmi les 10) et j'ai remarqué qu'en ajoutant un enregistrement dans cette table pour une autre demande, ma requête me retourne un enregistrement de +.
En gros j'aimerai avoir toutes les demandes d'un compte même si aucun intervenant n'est défini dans la table recherche.
Désolé si ce n'est pas super clair, je peux réexpliquer en cas de besoin.
Voici la structure de mes tables :
Demande :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Name Null? Type
------------------------------- -------- ----
ID NOT NULL NUMBER(11)
ID_CONTACT NOT NULL NUMBER(7)
ID_ETAT NOT NULL NUMBER(2)
CLIENT_FINAL VARCHAR2(50)
TOTAL NUMBER(8)
DATE_DEBUT_CONTRAT DATE
DATE_CONCLUSION DATE
LIEU_INTERVENTION VARCHAR2(50)
DPT_INTERVENTION VARCHAR2(2)
CHANCE NUMBER(3)
COMMENTAIRE VARCHAR2(250)
TYPE_PRESTATION NUMBER(1)
DATE_CREATION NOT NULL DATE
USER_CREATION NOT NULL NUMBER(6)
DATE_MODIF NOT NULL DATE
USER_MODIF NOT NULL NUMBER(6)
ID_CONCLUSION NUMBER(2)
CODE_OFFRE NUMBER(6) |
Recherche :
Code:
1 2 3 4 5 6 7 8 9 10
|
Name Null? Type
------------------------------- -------- ----
ID_DEMANDE NOT NULL NUMBER(11)
CODE_PROFIL NOT NULL NUMBER(2)
CODE_COMPETENCE NOT NULL NUMBER(6)
NB_INTER NUMBER(3)
DUREE NUMBER(5)
PVJ NUMBER(5)
FRAIS NUMBER(5) |
Merci d'avance pour vos réponses...