Bonjour !

Je suis devant une requete a laquelle j'aimerai soustraire des quantité d'informations retournés pour rien, je suppose que les alias pourrai correspondre a ma demande mais je n'en ai jamais utilisé et vu la complexité (enfin pour moi) de cette requete je prefere appeler a l'aide :

il me faut un detail complet + 3 infos pour les autres qui y sont associé

quand je dis un detail complet il y a 9 jointures pour recuperer la somme des infos dans les differentes tables

la requete ressemble a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
SELECT id,nom,date,...,
GROUP_CONCAT(DISTINCT id_a,"::",prenom_a," ",nom_a SEPARATOR "?"), GROUP_CONCAT(DISTINCT id_l,"::",prenom_l, ...  SEPARATOR "?" )
FROM ag 
LEFT JOIN x ON id = ag_x 
LEFT JOIN l ON l_x = id_l 
LEFT JOIN ...
WHERE id = 10 
OR id IN (@a:=(SELECT f_f FROM f WHERE e_f = 10)) 
GROUP BY id 
ORDER BY FIELD(id,10,@a)
je souhaite le detail, complet pour celui dont 'id est 10' mais juste 3 info pour ceux dont l'id est dans la sous requete!

A votre avis comment limité le retour d'information ? avec un alias ? avec 2 requete ?

bien sur si j'enleve la sous requete et que je fait en 2 fois le pb est résolu, mais on dit souvent qu'il vaut mieux faire en 1 seule requete (dans certains cas c'est contredit mais bon passons)

Merci