1
ユニオンでサブクエリを参照する方法はありますか?ユニオンのサブクエリ参照
私は、次のような何かをしようとしていて、一時テーブルを避けたいが、一度だけそれを行うには、それは理にかなっているように、サブクエリがはるかに大きいデータセットから供給されます。..
SELECT * FROM (SELECT * FROM ads WHERE state='FL' AND city='Maitland' AND page='home' ORDER BY RAND()) AS sq WHERE spot = 'full-banner' LIMIT 1
UNION
SELECT * FROM sq WHERE spot = 'leaderboard' LIMIT 1
UNION
SELECT * FROM sq WHERE spot = 'rectangle1' LIMIT 1
UNION
SELECT * FROM sq WHERE spot = 'rectangle2' LIMIT 1
.... etc,,
結果セットの1つの列に対してDISTINCTを指定することはできません。
tblは最初のサブクエリの参照に過ぎないためです。たぶん名前はちょっと混乱しているかもしれません。 ads表は大きいですが、サブクエリの後には約90行しかありません。混乱を避けるためにエイリアス名を更新します。 – christian
入手しました。私の答えを更新しました。 –
私の最初のテストは、以下が私が望むことをしていることを示しています.... SELECT * FROM(ここから州= 'FL' AND city = 'Maitland' ORDER BY RAND())sq GROUP BY sq .spot ... GROUP BYは1つの節ごとに1つの結果しか返しません。私はORDER BYと似ていると思っていました。ありがとう – christian