Page 1 sur 1

Ordre des résultats (SQL)

Posté : 22 nov. 2010, 00:33
par Ginzou
Bonjour
J'ai une petite question... Voilà j'ai ma requête SQL
SELECT A.elementx B.elementy  
FROM  
	(	SELECT inter_ABC.ID_A,inter_ABC.ID_B 
		FROM inter_ABC  
		WHERE inter_ABC.ID_C = (
			SELECT C.ID 
			FROM C 
			WHERE C.ID_X = 23 AND C.ID = 2)
		ORDER BY inter_ABC.ordre )list,
	A,
	B 	
WHERE A.ID = list.ID_A 	 AND 	B.ID = list.ID_B ;
Elle se base sur ces tables :

A
-> ID
-> elementx

B
->ID
->elementy

C
-> ID
-> ID_X


inter_ABC
-> ID_A
-> ID_B
-> ID_C
-> ordre

avec des relation du type
ID_X 1--1 C
C
1--n inter_ABC
inter_ABC
n--1 A
inter_ABC
n--1 B

ce que je veux quelle fasse :

A partir de ID_X et C.ID liés dans C donnés,
je voudrais trouver LES paires de A.élémentx et B.elementy tel que ID_A, ID_B et C soient liés dans inter_ABC
en affichant le résultat dans l'ordre fixé par inter_ABC.ordre.


Résultat:
Elle le fait. En local tout est bon ! Mais sur le serveur de mon hébergeur les données fournies sont justes mais pas dans le bon ordre.
Est-ce une erreur dans la requête?
Y a-t-il moyen d'écrire cette requête autrement?

Merci Ginz

Re: Ordre des résultats (SQL)

Posté : 22 nov. 2010, 04:40
par devlop78
Ca c'est de la sous-requête ! Désolé, je ne connais que les jointures, là ça me dépasse !

Re: Ordre des résultats (SQL)

Posté : 22 nov. 2010, 17:15
par macgawel
Bonjour.

A vue de nez, je dirais qu'il faudrait faire le tri à la fin de ta requête...