2016-07-25 12 views
0

私は2つのテーブルを持っています:アカウントと氏族データベースから空のクラスを選択

これらの間にはhasMany関係があります。 clans.clanId

にaccounts.clanIdポイント

どのように私はすべてのアカウントを持っていないすべての空の一族を選択することができます。

一つの一族は、複数のアカウントを持つことができますか?

+1

参照[加入のこの偉大な説明](のhttp:// blog.codinghorror.com/a-visual-explanation-of-sql-joins/) –

答えて

3

一つの方法は、2つのテーブル間LEFT JOINを行うと、すべてのアカウントにマップされなかったそれらの一族の記録を保持することである。

SELECT c.* 
FROM clans c 
LEFT JOIN accounts a 
    ON c.clanId = a.clanId 
WHERE a.clanId IS NULL 
0
SELECT * FROM CLANS C 
WHERE C.clanId NOT IN (SELECT ClanID FROM ACCOUNTS) 
関連する問題