如何获取列中元素的 ID 和数量,即使它们在 SQL 中为 0

how to get the id and number of elements in a column even if they are 0 in SQL

希望你一切顺利,我有两个 table 一个是 moduleelement 模块包含元素所以我在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 子句中添加条件。