我有两个MySQL表:
我创建了一个视图,该视图将计算列中表中出现的行数。该视图工作得很好,除了它不对不计数的实例显示零外。
我将如何显示零的计数?
以下是几张桌子:

下面是我的SQL视图:
CREATE VIEW `jobs_view` AS SELECT
`a`.`id`,
`a`.`jobnum`,
COUNT(`b`.`id`) AS `dpu_total`
FROM `jobs_table` `a`
INNER JOIN `dpu_table` `b` WHERE `a`.`id`=`b`.`jobnum_id`
GROUP BY `b`.`jobnum_id`这就是视图的样子:

我漏掉了其他的工作号码。我想在"dpu_total“列中显示"0”
有人能帮忙吗?
编辑
由于所提供的答案,诀窍是使用LEFT JOIN而不是INNER JOIN。我还不得不用WHERE代替ON,用jobs_table.id代替group。新的守则是:
CREATE VIEW `jobs_view` AS SELECT
`a`.`id`,
`a`.`jobnum`,
COUNT(`b`.`id`) AS `dpu_total`
FROM `jobs_table` `a`
LEFT JOIN `dpu_table` `b`
ON `a`.`id`=`b`.`jobnum_id`
GROUP BY `a`.`id`发布于 2015-02-11 16:27:42
尝试左连接而不是内部连接!
https://stackoverflow.com/questions/28459311
复制相似问题