【发布时间】:2011-12-19 17:26:50
【问题描述】:
我正在使用此查询返回存储在 $sTable 中的歌曲列表以及存储在 $sTable2 中的总项目的 COUNT。
/*
* SQL queries
* Get data to display
*/
$sQuery = "
SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
FROM $sTable b
LEFT JOIN (
SELECT COUNT(*) AS projects_count, a.songs_id
FROM $sTable2 a
GROUP BY a.songs_id
) bb ON bb.songs_id = b.songsID
$sWhere
$sOrder
$sLimit
";
$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
'projects_count' 与 '$sTable' 中的列一起放入一个数组中,然后通过 JSON 吐出并显示在页面上的表格中。
除了一首歌曲没有与之关联的项目外,这一切都很好。它当然返回 NULL。
我想要的只是将任何空值作为“0”返回。
我已经尝试过 COUNT()、COUNT(IFNULL (project_id,0) 和使用 COUNT(DISTINCT)...
还有:-
SELECT COALESCE(COUNT(*),0) AS projects_count, a.songs_id
都没有成功。
有什么想法吗?
【问题讨论】: