2016-07-29 5 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 

ITEMSは現在、私は、最初の結果のために、このクエリを使用していますが、私は取得する方法がわからないとき、私はこの出力を必要とします第2の出力は、多分これは明らかに聞こえるが、私は答えを見つけることができません:(

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 

これは実際のクエリbtwではないと仮定します。 wherefromより後になります。また、それらのcountステートメントは同じ値を返します。

+0

これは間違いありません。大変ありがとう、私の命を救った! – axor

+0

ええ、あまりにも簡単に理解できるように、私はそれを変更していた申し訳ありませんも、クエリを修正します。 – axor

関連する問題