我尝试在2个表上返回group_concat
一个是我的学校列表,另一个是一些数字数据。
对于某些日期,我在表SimpleData中根本没有数据,因此我的lEFT OUTER JOINS返回10个结果,其中我有11个学校(我也需要11行以进行javascript处理)
这是我的查询(告诉我是否需要提供有关表的更多详细信息
SELECT A.nomEcole,
A.Compteur,
IFNULL(SUM(B.rendementJour), '0') AS TOTAL,
B.jourUS,
B.rendementJour
FROM ecoles A LEFT OUTER JOIN SimpleData B ON A.Compteur = B.compteur
WHERE jourUS LIKE '2013-07-%'
GROUP BY ecole
在这个例子中,我这个月的SimpleData中没有数据(根本没有记录数据)
对于这个失踪的学校,我必须显示NULL或'0',而我显然在一些容易的事情上失去了头绪:(
谢谢你的帮助 !
奥利维尔
最佳答案
@Abhik Chakraborty提到了一种方法,该方法将过滤出不符合条件的记录,另一种方法是可以使用CASE
语句
SELECT A.nomEcole,
A.Compteur,
SUM(CASE WHEN jourUS LIKE '2013-07-%' THEN B.rendementJour ELSE 0 END) AS TOTAL,
B.jourUS,
B.rendementJour
FROM ecoles A
LEFT OUTER JOIN SimpleData B ON A.Compteur = B.compteur
GROUP BY ecole