0

私の質問は、結果から何も削除せずに、比較規則に従ってテーブル内の特定の行を選択することは可能ですか? 次の例を想像したいことを明確にするために。

私は2つの値を持つテーブルを持っています、

 A | B | C
 1   0   hey
 1   1   there
 2   1   this
 3   0   is
 3   1   a
 4   0   test

ここで、B 列に 0 があり、C 列に a がある行を選択したいのですが、B 列に 0 がなく、A 列に同じ値がある結果を削除する必要はありません。 a

 select C from T where A in (select A from T where B = 0);

しかし、列 B に 0 が含まれ、列 A と一致するすべての C 値を選択することはできませんか?

非常にあいまいな質問であるため、さらに情報が必要な場合は喜んで待機しますが、SQL は時々混乱する可能性があります。

4

2 に答える 2

0

サンプルの結果セットなしではわかりにくいです。しかし、おそらく次のようなものです:

SELECT A, B, C
FROM myTable
WHERE (B = 0 AND C LIKE '%A%')
OR (B <> 0 AND B = A)
于 2012-12-13T14:34:36.277 に答える
0

条件が欲しいだけだと思いますor

select C
from MyTable
where b = 0 or A in (select A from T where B = 0)

これはあなたが望むバージョンですか:

select C
from MyTable
where C = 'a' or A in (select A from T where B = 0)
于 2012-12-13T14:51:55.533 に答える