我有两个MySQL表:
我创建了一个视图,该视图将计算列中表格中出现的行数。 VIEW工作得很好,除了它没有为不计数的实例显示零。
我如何显示零点数?
以下是表格:
这是我的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`
这就是视图的样子:
我错过了其他工作号码。我想展示一个" 0"在" dpu_total"
的列中有人可以帮忙吗?
修改
由于提供的答案,诀窍是使用LEFT JOIN
而不是INNER JOIN
。我还必须将WHERE
替换为ON
并将jobs_table.id
替换为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`
。新代码是:
{{1}}
答案 0 :(得分:1)
尝试LEFT JOIN而不是INNER JOIN!