2

これは非常に基本的なクエリです (これに関連しています) わかりません…</p>

次のような 2 列のテーブルがあるとします。

A  -  B
1  -  1
1  -  2
1  -  3
2  -  1
3  -  1
3  -  4

B が 2 または 3 でないすべての異なる As を取得したい。上記の例を使用すると、返される結果は As 2 および 3 だけです。これを行うにはどうすればよいですか?

4

2 に答える 2

4
SELECT DISTINCT `A` FROM `t` AS `t1`
    WHERE NOT EXISTS (
        SELECT 1 FROM `t` 
            WHERE `t`.`A` = `t1`.`A` 
            AND `B` in (2,3)
    );

SQL フィドルのデモ

于 2013-08-09T15:28:16.070 に答える
0

次のコードを使用してみてください。

select distinct a
from tbl
where B not IN(2,3)
于 2013-08-09T16:09:19.250 に答える