2016-06-29 7 views
1

私は、次のMySQLのクエリを持っている:のMySQL - 結合テーブルのクエリは、クエリ全体のヌルを作るどのnullで

SELECT u.id, u.ap, q.quests 
FROM users u 
JOIN(    
    SELECT count(quest) as 'quests', user 
    FROM active_quests 
    WHERE user = 143 
) q 
ON u.id = q.user 
WHERE u.id = 143 

私はに実行しています問題は時々active_questsテーブルから参加しましたクエリがNULLためになるということですその特定のユーザーのエントリはありません。しかし、これによりクエリ全体がNULLになりました。

ユーザーは常にapの値を持ちますが、必ずしもquestsという値ではありません。

SELECT u.id, u.ap, IFNULL(q.quests, 0)のような処理をしたいと思っていましたが、動作しません。

この問題を解決するにはどうすればよいですか?

答えて

3

結合の代わりにLEFT JOJNを使用します。結合のみが内部結合を意味します。 Reference

+0

ありがとう! – ALR

関連する問題