希望你做得很好,我有两个表,一个是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。
模块表的列:ID(p(|moduleName|classID|upload_dir
元素表的列:ID(p(|elementName|moduleID(F(|teacherID(F(| icon|thumbna|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
子句中添加条件。