私は以下のようなテーブルを持っています。それを構築するのを手伝ってください。異なる条件の同じ列クエリ
例:
column 1 column 2
111111 100
111111 101
111111 102
222222 101
222222 102
333333 100
だから私は100ではなく101や102と同じ列のを持ってcolumn1のを探しています。
私の上記の例から、333333 100
はまさに私が100ではなく101と102
私は以下のようなテーブルを持っています。それを構築するのを手伝ってください。異なる条件の同じ列クエリ
例:
column 1 column 2
111111 100
111111 101
111111 102
222222 101
222222 102
333333 100
だから私は100ではなく101や102と同じ列のを持ってcolumn1のを探しています。
私の上記の例から、333333 100
はまさに私が100ではなく101と102
を試してみてくださいを持っている、を探していますされますcolumn1
値:
select column1
from t
group by column1
having sum(case when column2 = 100 then 1 else 0 end) > 0 and
sum(case when column2 in (101, 102) then 1 else 0 end) = 0;
これらは、あなたが気に3つの値のみがある場合はアボあなたはピボットクエリを実行しようとしているかもしれないようですね
select column1
from t
where column2 in (100, 101, 102)
group by column1
having max(column2) = 100;
ゴードンに感謝、それは完璧に働いた。 – Gireesh
したい場合は、group by
とhaving
を使用することができますnot exists
オペレータ
SELECT *
FROM table t1
WHERE column2 = 100
AND NOT EXISTS (
SELECT * FROM table t2
WHERE t1.column1 = t2.column1
AND t2.column2 in (101, 102)
)
は完璧に動作します、ありがとうkrokodilko – Gireesh
あなたはどのようなデータベースを使用しているトン、あなたはこれを簡素化することができますか? – John
これまで持っていたSQLサンプルを提供してください。 –
私はDB2でこれを構築しています。 – Gireesh