2017-01-11 9 views
0

を表示しないように必要な問題である: 表名は、これまでのところ私が持っているものSQL - 複数の行、行の同様の値は、ここで特定の値

1  2  3  
123 1  A 
123 1  A 
123 2  A 
332 1  A 
332 1  A 
321 2  B 
321 2  A 
321 1  A 

を=これです:

select distinct 1,2,3 from a where a.2='1' and a.3='B'; 

それぞれの結果が返されます(321を除く)。

値2は列2に2、列3にはBがある行には値がない限り値1を選択します。これは可能ですか?

+0

リクエストされた結果が不明です。あなたの投稿に追加してください。 –

+0

どのDBMSを使用していますか? Postgres?オラクル? ( 'select distinct 1,2,3'は無効な標準SQLです) –

+0

申し訳ありませんが、私はそれを自分自身で理解することができました...私はもっと明確にすべきでした!ごめんなさい! –

答えて

0

"でない列2の2または3列にBがある行の" 表現することができるよう

select distinct 1,2,3 from a where a.2!='2' or a.3!='B'; 

又は

select distinct 1,2,3 from a where a.2 <> '2' or a.3 <> 'B'; 
0

Iが使用するgroup byhaving

select col1 
from t 
group by col1 
having sum(case when col2 = 2 then 1 else 0 end) = 0 and 
     sum(case when col3 = 'B' then 1 else 0 end) = 0; 
関連する問題