基本的に、nullの場合に列が0を返すようにします。ネストされたステートメント内でifnullを使用しています。ネストされたステートメントを単独で実行すると、列は0を返しますが、クエリ全体を実行すると、再びNULLになります。これは私のコードです:
SELECT Text, Verbo, Objeto, mPosts FROM Posts
LEFT JOIN (SELECT ID, IFNULL(COUNT(*),0) AS mPosts FROM `Posts` WHERE Date >= DATE_ADD(CURDATE(), INTERVAL -30 DAY) GROUP BY `Verbo`,`Objeto`) AS B ON Posts.ID = B.ID
IFNULLをメインのselectステートメントに移動することはできますが、移動したくありません。
SELECT Text, Verbo, Objeto, IFNULL(mPosts,0) FROM Posts
LEFT JOIN (SELECT ID, COUNT(*) AS mPosts FROM `Posts` WHERE Date >= DATE_ADD(CURDATE(), INTERVAL -30 DAY) GROUP BY `Verbo`,`Objeto`) AS B ON Posts.ID = B.ID
ネストされたステートメントでそれを実行できないのはなぜですか?メインクエリで使用する必要がないように、他の方法で実行できますか?