あるテーブルからいくつかのフィールドを選択し、他のテーブルからカウントを返すこのクエリを実行しています。
私の問題: カウンター フィールドの 1 つがゼロをカウントする場合、それは数値 0 を返さず、単に空白です。これは私が試して解決したいことです。
SELECT mem.member_id, mem.screen_name, mem.firstname, mem.lastname, mem.country_code,
mem.joined, rep.rep as reputation, com.cnt as comments FROM members AS mem
LEFT OUTER JOIN (
SELECT member_id, SUM(awarded_what) as rep
FROM members_reputation
GROUP BY member_id) rep
ON mem.member_id = rep.member_id
LEFT OUTER JOIN (
SELECT member_id, COUNT(comment_id) as cnt
FROM blog_comments
GROUP BY comment_id) com
ON mem.member_id = com.member_id
GROUP BY mem.member_id
ORDER BY mem.joined DESC
私が欲しいのは次のようなものです:
Screen Name | Comments
-----------------|--------------------
marty76 | 0
jonnyBoy12 | 0
adamApple | 12
しかし、私は代わりにこのようなものを得ています!
Screen Name | Comments
-----------------|--------------------
marty76 |
jonnyBoy12 |
adamApple | 12
サーバー側の言語を使用すると、null 値をゼロに置き換えることで簡単に修正できます。しかし、ゼロを SQL から直接取得したいので、カウントで並べ替えることができます。
どんな提案も素晴らしいでしょう。