最终查询:
SELECT b.id, a.T1 FROM (query1) AS a JOIN (query2) AS b ON a.id = b.id
query1和2在日期匹配时带来数字,但是当日期不匹配(query2 =空集)时另一个也失败,如果一个为空则我需要输入零
我尝试使用IF faild解决它,如果日期存在可以正常工作,但如果不返回空集。
SELECT
admin,
IF(COUNT(date)=NULL,0,SUM(1P)) AS 1P
FROM carga
WHERE date ="2014-08-14"
GROUP BY admin;
欢迎任何想法,谢谢
答案 0 :(得分:0)
使用LEFT JOIN
SELECT b.id, a.T1
FROM (query1) AS a
LEFT JOIN (query2) AS b ON a.id = b.id
LEFT JOIN
表示结果应包含第一个表中的所有行。
如果第二个表格中没有匹配项,则结果中的所有列(例如b.id
)都将为NULL
,但它仍会显示第一个表格中的列。
你可以使用RIGHT JOIN
来反转第一和第二个表的角色。