Bonjour,
j'ai une requête qui contient une sous requête... Elle plante...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SELECT distinct Fiche_contact.APCLEUNIK, Fax.fax_prio as [Priorité], Canal.can_Image1 AS [Canal], Fiche_contact.jour AS [Date], Fiche_contact.heure AS [Heure], Fiche_contact.question AS [Objet], Dossier.dos_nom AS [Dossier], Internot.NomInt AS [Expediteur], Societe.soc_NomCommercial AS [Société], EtatEch.Etat_Image1 as [Etat], Service.Nom_Service as [Equipe affectée], Internot.id_cl as [Code client], SUBSTR(Internot.Code_postal_special,0,2) as [Département] FROM Fiche_contact LEFT OUTER JOIN Canal On Canal.type_canal = Fiche_contact.type_canal, Fiche_contact LEFT OUTER JOIN Internot ON Fiche_contact.I0CLEUNIK = Internot.I0CLEUNIK, Internot LEFT OUTER JOIN Societe ON Internot.soc_Id = Societe.soc_Id, Fiche_contact LEFT OUTER JOIN Dossier ON Fiche_Contact.dos_id = Dossier.dos_id, Fiche_contact LEFT OUTER JOIN Fax ON Fiche_contact.Apcleunik = fax.con_id, Fiche_contact LEFT OUTER JOIN Service ON Fiche_contact.COCLEUNIK = Service.COCLEUNIK, (Select etat_valeur, etat_image1 from Etat where etat_type = 1) as EtatEch WHERE (Fiche_contact.ech_etat = 0 OR Fiche_contact.ech_etat = -6 OR Fiche_contact.ech_etat = -7) AND fiche_contact.cocleunik IN (1,2,5) AND fiche_contact.ech_etat = EtatEch.etat_valeur ORDER BY Priorité DESC, Date DESC, Heure DESC
Quand j'inverse la sous requête, que la met en requête principale, et que je met la requête principale en sous requête, ça fonctionne !!
Est-ce que vous avez une idée du pourquoi ? Parce que franchement, je ne comprends pas T__T
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 select echange.APCLEUNIK, echange.fax_prio as [Priorité], echange.can_Image1 AS [Canal], echange.jour AS [Date], echange.heure AS [Heure], echange.question AS [Objet], echange.dos_nom AS [Dossier], echange.NomInt AS [Expediteur], echange.soc_NomCommercial AS [Société], echange.Nom_Service as [Equipe affectée], echange.id_cl as [Code client], echange.Département, etat.etat_image1 from etat, (SELECT distinct Fiche_contact.APCLEUNIK, Fax.fax_prio, Canal.can_Image1, Fiche_contact.jour, Fiche_contact.heure, Fiche_contact.question, Dossier.dos_nom, Internot.NomInt, Societe.soc_NomCommercial, Service.Nom_Service, Internot.id_cl, SUBSTR(Internot.Code_postal_special,0,2) as [Département], fiche_contact.ech_etat FROM Fiche_contact LEFT OUTER JOIN Canal On Canal.type_canal = Fiche_contact.type_canal, Fiche_contact LEFT OUTER JOIN Internot ON Fiche_contact.I0CLEUNIK = Internot.I0CLEUNIK, Internot LEFT OUTER JOIN Societe ON Internot.soc_Id = Societe.soc_Id, Fiche_contact LEFT OUTER JOIN Dossier ON Fiche_Contact.dos_id = Dossier.dos_id, Fiche_contact LEFT OUTER JOIN Fax ON Fiche_contact.Apcleunik = fax.con_id, Fiche_contact LEFT OUTER JOIN Service ON Fiche_contact.COCLEUNIK = Service.COCLEUNIK WHERE (Fiche_contact.ech_etat = 0 OR Fiche_contact.ech_etat = -6 OR Fiche_contact.ech_etat = -7) AND fiche_contact.cocleunik IN (1,2,5) ) as echange where etat.etat_valeur = echange.ech_etat
Partager