Bonjour à tous,

Voilà, je fais une requête pour trouver des sites clients dont au moins un élément de planning est à l'état 'valide'. Le problème c'est que s'il y a deux éléments de planning validés pour un même site, ma requête retourne deux fois le même site... J'ai bien sûr pensé à DISTINCT mais comme je sélectionne un autre champ en plus du site je suis pas sûr que ça soit possible...
Au passage, je sélectionne e.* juste pour qu'il accepte mon ORDER BY, mais il doit sûrement y avoir un moyen d'éviter ça ...
Donc je résume : Il faudrait que cette requête soit modifiée pour ne retourner si possible que des sites différents, mais que ceux-ci soit ordonnée en fonction e.dateDebut

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT  S.* , e.*
FROM SITE_CLIENT S  
JOIN ELEMENT_PLANNING e 
ON e.idSite = S.idSite 
WHERE EXISTS
(	
	SELECT * 
	FROM ELEMENT_PLANNING EL	
	JOIN ETAT_PLANNING ET ON ET.idEtatPlanning = EL.idEtat 	
	WHERE EL.idSite = S.idSite	
	AND ET.nomEtatPlanning = 'valide' 
) 
 
ORDER BY e.dateDebut ASC
Si vous avez des idées, please help