0

私は2つのテーブルUSERUSER_BAL. USER _IDテーブルの主キーとUSERテーブルの外部キーですUSER_BAL。の値が の値と一致USER_IDすることを確認するために、両方のテーブルの列を比較する必要があります。また、取り残されたものを出力する必要があります。USER_BAL.USER_IDUSER.USER_ID

4

2 に答える 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 に答える