2011-04-19 140 views
3

當然,這是不可能來寫重用子查詢在WHERE子句選擇表達

SELECT (some subselect) AS blah FROM t WHERE blah = 'const' 

什麼是做到這一點的最好方法是什麼?

  • SELECT (some subselect) FROM t WHERE (some subselect) = 'const'
  • 查看?
  • 存儲函數?
  • HAVING?
  • 其他?

回答

6

可以在FROM移動(some subselect)爲表:

SELECT s.blah 
    FROM t, (some subselect) s 
WHERE t.id = s.id 
    AND s.blah = 'const' 
+0

新增加盟和接受。 – AndreKR 2011-04-19 18:56:25

+0

但是你不得不放棄'join on'語法並使用骯髒的'where'連接語法? – Johan 2011-04-19 19:27:57

+0

這是爲什麼?你總是可以同時使用('s'是一個表格)。爲什麼'哪裏'髒?它也是一個連接(交叉連接),可以是有用的。 – manji 2011-04-19 19:44:21