如何获取列中元素的 ID 和数量,即使它们在 SQL 中为 0
how to get the id and number of elements in a column even if they are 0 in SQL
希望你一切顺利,我有两个 table 一个是 module 和 element 模块包含元素所以我在element里面有一个moduleID的外键,我想做的是显示模块的ID和元素的数量在那个模块中,这里是我所做的:
SELECT module.ID,count(element.ID) AS numElements FROM element JOIN module ON element.moduleID = module.ID WHERE moduleID = module.ID GROUP BY module.ID
但它只显示包含元素的模块,没有任何元素的模块呢,我真的希望我也能打印它们并显示它们的元素数量0.
模块的列table:
编号(P) |模块名称 |类别编号 | upload_dir
元素的列table:
编号(P) |元素名称 |模块ID(F) |教师ID(F) |图标 |缩略图 | upload_dir
提前致谢
你似乎想要一个 LEFT JOIN
:
SELECT m.ID, count(e.ID) AS numElements
FROM module m LEFT JOIN
element e
ON e.moduleID = m.ID
GROUP BY m.ID;
我不确定您的 WHERE
子句的目的是什么。我怀疑这是试图获取丢失的行。如果要按元素过滤,请在 ON
子句中添加条件。
希望你一切顺利,我有两个 table 一个是 module 和 element 模块包含元素所以我在element里面有一个moduleID的外键,我想做的是显示模块的ID和元素的数量在那个模块中,这里是我所做的:
SELECT module.ID,count(element.ID) AS numElements FROM element JOIN module ON element.moduleID = module.ID WHERE moduleID = module.ID GROUP BY module.ID
但它只显示包含元素的模块,没有任何元素的模块呢,我真的希望我也能打印它们并显示它们的元素数量0.
模块的列table: 编号(P) |模块名称 |类别编号 | upload_dir
元素的列table: 编号(P) |元素名称 |模块ID(F) |教师ID(F) |图标 |缩略图 | upload_dir
提前致谢
你似乎想要一个 LEFT JOIN
:
SELECT m.ID, count(e.ID) AS numElements
FROM module m LEFT JOIN
element e
ON e.moduleID = m.ID
GROUP BY m.ID;
我不确定您的 WHERE
子句的目的是什么。我怀疑这是试图获取丢失的行。如果要按元素过滤,请在 ON
子句中添加条件。