2012-04-02 59 views

回答

1

select total, xxx 
from (
    SELECT total, (select my_count from x where .. etc) as XXX 
    FROM sales 
    ) 
WHERE XXX > 0; 
+0

如果我嘗試這個,我得到一種錯誤,不能修復http://stackoverflow.com/questions/1888779/every-derived-table-must-have-its-own-alias – Brettski 2012-04-02 00:40:39

+0

@Brettski:只是分配FROM FROM子查詢的別名,如:... FROM ... ... some_alias WHERE ...' – 2012-04-02 06:10:26

0

這是一個很奇怪的查詢。
爲什麼不把WHERE條件放在子查詢中?

SELECT total, (select my_count from x where .. AND my_count > 0) as XXX 
FROM sales 

而且出現錯誤是因爲您無法將子查詢的結果用作列名。

+0

我有幾列來自子查詢,基本上是在過去1,3,6個月的訂單,想根據結果做一些過濾 – Brettski 2012-04-02 00:17:40

+0

但是你沒有加入主要查詢的任何內容。你能提供一個更好的例子嗎? – rgafonso 2012-04-02 00:47:40

+0

如果my_count <= 0,此查詢將返回'total,null',並且不會過濾記錄。我相信子查詢中的'..'部分,他正在用'sales'表做些事情。 – 2012-04-02 19:12:12