我使用以PHP编写的子查询来使用以下查询。
$query = mysqli_query($mysqli, "select
users.id as id,
users.display_name as display_name,
users.user_code as user_code,
(select count(articles.id) from articles where articles.user_code = '$user_code') as user_article_count,
(select count(comments.id) from comments where comments.user_code = '$user_code') as user_comment_count
from users");
每当其中一个子查询与任何行匹配时,就会出现问题,整个查询返回null而不是仅为 user_article_count 或 user_comment_count 返回null。
我该如何避免这种情况?
答案 0 :(得分:0)
MS SQL有同样的问题,我使用ISNULL()函数解决它。 你在MYSQL中尝试过IFNULL()函数吗?
我在http://www.w3schools.com/sql/sql_isnull.asp找到了这个代码段。
在MySQL中你可以使用IFNULL()函数,如下所示:
SELECT ProductName,UnitPrice *(UnitsInStock + IFNULL(UnitsOnOrder,0)) 来自产品
HTH, 乔