MySQL n'a qu'à bien se tenir ... :
SELECT P.post_id, P.blog_id, P.user_id, P.cat_id, P.post_dt, P.post_tz, P.post_creadt, P.post_upddt, P.post_format, P.post_password, P.post_url, P.post_lang, P.post_title, P.post_excerpt, P.post_excerpt_xhtml, P.post_content, P.post_content_xhtml, P.post_notes, P.post_meta, P.post_status, P.post_selected, P.post_open_comment, P.post_open_tb, P.nb_comment, P.nb_trackback, U.user_name, U.user_firstname, U.user_displayname, U.user_email, U.user_url, C.cat_title, C.cat_url , M.media_file, M.media_id, M.media_path, M.media_title, M.media_meta, M.media_dt, M.media_creadt, M.media_upddt, M.media_private FROM dc_post G INNER JOIN dc_meta GM on GM.post_id = G.post_id and GM.meta_type="galitem" INNER JOIN dc_post P on GM.meta_id = P.post_id INNER JOIN dc_user U ON U.user_id = P.user_id LEFT JOIN dc_category C ON P.cat_id = C.cat_id INNER JOIN dc_post_media PM ON P.post_id = PM.post_id INNER JOIN dc_media M on M.media_id = PM.media_id WHERE P.blog_id = 'default' AND P.post_type = 'galitem' AND G.post_type="gal" AND G.post_id='5' ORDER BY P.post_dt DESC

5 réactions
1 De Pep - 07/08/2006, 16:09
uh uh :-)
2 De Tomtom - 07/08/2006, 18:14
Sympa!
Moi aussi j'en ai eu de ce style là pendant mes TP de BDD..
De quoi devenir fou surtout quand on fait ça depuis Windows avec un vieux shell SQL sans complétion ni retour en arrière :/
3 De Gabriel - 13/08/2006, 08:54
C'est là où tu vois si ta requête est bien ordonnée, bien comprise par le moteur sql. Il ne manque plus à ta requete qu'une paire de outer join, un gourp by et un order by (colonne calculée).
Au fait tu sais quoi? Dasn des cas comme ça je regarde quand même à deux fois pour savoir si, on faisant une requete simple au préalable pour préparer le terrain, tu ne gagnes pas du temps. Oui je sais c'est bizarre de faire deux requete au lieu d'une mais souvent ça marche!
4 De StyleLotußiens - 24/09/2006, 13:45
heu je comprend pas ...
5 De serial - 17/11/2006, 18:19
Arf, faut pas prendre peur, le SELECT à rallonge est là pour faire de l'esbroufe. ;)