2016-07-29 30 views
1

我有這個如何引用2個別名並在WHERE子句中進行比較?

RECORD        ITEMS  ITEMSTOTAL 
------------------------------------ ---------- ---------- 
ababababaa         0   1 
ababababab         0   0 
ababababac         0   1 
ababababad         1   1 
ababababae         0   2 

但我需要這個輸出項目時= ITEMSTOTAL

RECORD        
------------------------------------ 
ababababab 
ababababad 

目前我使用這個查詢的第一個結果,但我不知道怎麼弄的第二輸出,也許這聽起來很明顯,但我無法找到答案:(

SELECT RECORD, 
(SELECT COUNT(*) FROM TABLE1 WHERE SOMETHING=X) AS ITEMS, 
(SELECT COUNT(*) FROM TABLE2 WHERE SOMETHING2=Y) AS ITEMSTOTAL 
FROM RECORDS_TABLE 
WHERE DELETED=0 
--and ITEMS.count = ITEMSTOTAL.count <-- tried something like this but it doesn't work. 

回答

1

一種選擇是使用子查詢和應用where標準外部查詢。

select * 
from (
    your query here 
) t 
where items = itemstotal 

我認爲這不是你的實際查詢順便說一句。 wherefrom之後。而且,那些count語句將返回相同的值。

+0

這是絕對正確的。非常感謝你,你救了我的命! – axor

+0

是的,我也修復了查詢,對不起,我修改它讓它更容易理解。 – axor

相關問題