我有一个运行良好的查询:
$sql = "
SELECT count(user_like.id) AS count_likes
FROM post
LEFT JOIN user_like ON post.id = user_like.post_id
WHERE post.id = " . $post->getId() . "
AND user_like.is_deleted = 0
GROUP BY user_like.type";
但是,如果找不到行(因此ISNULL,IFNULL,COALESCE和NVL不起作用,我尝试了它们),我仍然希望它为count_likes返回0。
当前,如果未找到结果,则它不返回0或null,它仅不返回任何行。
这可能吗?我可以用朋克摇滚的方式来检查执行结果,如果它为null,则创建并返回一个array(“ count_likes” => 0),但是必须有更好的方法吗?