0

私は3つのテーブルを持っています

Person (id, name, email)
Address (id, Person_id, address, verified)
Person_Claimed (id, Person_id, name, email)

PersonおよびAddressテーブルにレコードを手動で追加します。誰かが自分のプロファイルをオンラインで見ると、その人は自分のプロファイルを要求し、Person_Claimedテーブルにエントリが作成されます。

ここで、自分のプロファイルを要求しておらず、住所も確認されていない人の記録を取得したいと思います。

これらのテーブルを結合する方法は?

4

1 に答える 1

2

verifiednull ではないと仮定し、0 は「検証されていない」ことを意味します

SELECT p.*
FROM Person p
INNER JOIN Address a ON (a.Person_id = p.id )
LEFT JOIN Person_Claimed pc ON (pc.Person_id = p.id)
WHERE a.verified =0 AND pc.id IS NULL

個人が検証されていない複数のアドレスを持つことができる場合は、追加することができますGROUP BY p.id (またはSELECT DISTINCT代わりにSELECT

于 2012-04-06T15:50:46.240 に答える