2017-07-09 13 views
-1

私はpostsテーブルとusersテーブルを持っていますが、次のコードはpost_countカラムを持つテーブルを返します。すべてのユーザーを返し、投稿したユーザーのみが返されます。あなたは左を使用する必要があるSQLでsql join with nullable data

SELECT users.*, COUNT(posts.id) post_count 
FROM `posts` 
JOIN `users` ON `posts`.`user_id` = `users`.`id` 
GROUP BY(posts.user_id) 
ORDER BY `users`.`id` 

+2

データの画像を投稿しないでください。簡単にコピーして貼り付けることができないため、読みにくく、あまり有用ではありません。 – Hogan

+0

あなたは何を疑っていますか?何を試しましたか、それはどうしたらうまくいかなかったのですか?あなたの現在のタイトルとは異なります。どのような基本的なSQLイントロを使用していますか? [mcve]も読んで行動してください。 – philipxy

+0

あなたは何をしますか –

答えて

1

このため参加:

SELECT users.*, COUNT(posts.user_id) post_count 
FROM users 
LEFT JOIN posts ON posts.user_id = users.id 
GROUP BY(users.id) 
ORDER BY users.id 

左参加ポストテーブルにユーザテーブル内のすべての項目およびレコードのみが含まれます存在する。