Retourner au contenu associé (entrée de forum : RAND() dans un SubSelect : comportement étrange)
Posté par NeoX le 07 décembre 2013 à 18:37. En réponse au message RAND() dans un SubSelect : comportement étrange. Évalué à 4.
le nom des champs importe peu c'est pour la logique plus que la pratique.
ce qui me choque dans ton algo, c'est que tu : - cherche une peinture au hazard (ton p_random)
lie le resultat à la galerie qui va ( from galeries gal)
ou tu refais une jointure sur la table des peintures
tu pourrais surement faire comme je le propose, sans le limit1 mais avec un group by
SELECT galerie.id as id_galerie, galerie.nom as nom_galerie,peinture.id, peinture.nom .... FROM peintures LEFT JOIN galerie ON galerie.id=peinture.galerie_id ORDER by RAND() GROUP BY galerie.id
le regroupement va forcer le fait qu'il n'y aura qu'une seule ligne pour chaque galerie, et c'est la derniere (ou la premiere je ne sais plus) ligne de peinture pour cette galerie qui sera retenue.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: jointure
Posté par NeoX . En réponse au message RAND() dans un SubSelect : comportement étrange. Évalué à 4.
le nom des champs importe peu c'est pour la logique plus que la pratique.
ce qui me choque dans ton algo, c'est que tu :
- cherche une peinture au hazard (ton p_random)
lie le resultat à la galerie qui va ( from galeries gal)
ou tu refais une jointure sur la table des peintures
tu pourrais surement faire comme je le propose, sans le limit1 mais avec un group by
le regroupement va forcer le fait qu'il n'y aura qu'une seule ligne pour chaque galerie, et c'est la derniere (ou la premiere je ne sais plus) ligne de peinture pour cette galerie qui sera retenue.