Modérateur PHPfrance |
10684 Messages
26 mars 2008, 23:08
Ta requête fonctionne, mais...
- prends l'habitude de mettre TOUS les champs non groupés du select dans le GROUP BY, et pas juste un au hasard... MySQL arrive à s'en passer, mais c'est bien le seul SGBD à le faire...
- si menu_semaine est un int, tinyint, number, etc. il ne FAUT PAS mettre d'apostrophe autour des valeurs, ce sont des nombres, pas des chaines
- enfin, ton dernier AS asa donne l'alias "asa" à la "table" constituée de l'union de tes sous requête. Le même alias que celui que tu donnes à tes champs. C'est très confusant, surtout si c'est pour ne pas l'utiliser, autant ne pas le mettre

- Et tant qu'on y est, indente tes requête SQL également, il n'y a pas que le php que l'indentation rend plus lisible
Code : Tout sélectionner
SELECT DISTINCT admin_id, menu_semaine, asa
FROM (
(
SELECT DISTINCT admin_id, menu_semaine, count( menu_jour ) AS asa
FROM cantine.menu_utilisateur
WHERE menu_semaine = 10
GROUP BY admin_id, menu_semaine
)
UNION
(
SELECT DISTINCT admin_id, menu_semaine, count( menu_jour ) AS asa
FROM cantineln.menu_utilisateur
WHERE menu_semaine = 10
GROUP BY admin_id, menu_semaine
)
)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...