私は2つのテーブルUSER
とUSER_BAL
. USER _ID
テーブルの主キーとUSER
テーブルの外部キーですUSER_BAL
。の値が の値と一致USER_ID
することを確認するために、両方のテーブルの列を比較する必要があります。また、取り残されたものを出力する必要があります。USER_BAL.USER_ID
USER.USER_ID
2 に答える
1
次の例では、User_Bal にエントリがあり、User にはエントリがないすべてのユーザーが表示されます。
SELECT DISTINCT User_Bal.UserID
From User_Bal
Where User_Bal.UserID NOT IN
(
SELECT User.UserID
FROM USER
)
User_Bal ではなく User_Bal で UserID を取得する必要がある場合、および User_Bal ではなく User_Bal で UserID を取得する必要がある場合、Ivan の回答は良い出発点です。
ただし、結果は DB スキーマによって異なります。User と User_Bal の関係は 1 対 1 ですか、それとも 1 対多ですか?
1 対 1 の場合は、スキーマを変更して UserID を User_Bal テーブルの FK と PK の両方にする必要があります。1 対多の場合、Ivan の回答は同じ UserID に対して複数の行を返します。
于 2013-01-28T11:40:44.260 に答える
0
これを試して :
このクエリは、ユーザー テーブルに存在するユーザー ID を提供します。
SELECT USER_BAL.USER_ID
FROM USER_BAL
WHERE EXISTS (
SELECT USER.USER_ID
FROM USER
WHERE USER.USER_ID = USER_BAL.USER_ID
)
このクエリは、ユーザー テーブルに存在しないユーザー ID を提供します。
SELECT USER_BAL.USER_ID
FROM USER_BAL
WHERE NOT EXISTS (
SELECT USER.USER_ID
FROM USER
WHERE USER.USER_ID = USER_BAL.USER_ID
)
于 2013-01-29T06:28:07.100 に答える