1

2 つのテーブルをクエリし、クエリ #1 の結果を使用してクエリ #2 の結果からエントリを削除する最良の方法は何ですか? 結果セットの結合と重複の削除に関する質問を確認しましたが、必要なものはまったくありません。

すべてのユーザーは役割 1 を持ち、上級ユーザーは役割 1 と 2、3、4 などを持ちます。目標は、役割 1 のみを持つユーザーのリストです。

これまでの私のアプローチ (構文のヘルプをいただければ幸いです!):

ステップ1:

select roles.user_id  as "AdvancedUsers" from roles where role > 1

ステップ2:

select Users.ID, Users.email as "AllUsers" from users

AdvancedUsersステップ3は、返された結果から削除する必要がありますAllUsers

それが明らかだったことを願っています。

ありがとう。

4

1 に答える 1

3
SELECT Users.ID, Users.email from users
WHERE Users.ID NOT IN (select roles.user_id from roles where role > 1)
于 2012-12-23T17:14:34.650 に答える