SELECT p.ticket AS posted,
e.ticket AS settled,
Sum(e.amount)
FROM post AS p
LEFT JOIN settle AS e
ON p.ticket = e.ticket
WHERE p.date = '2016-05-10 00:00:00.000'
GROUP BY p.pticket,
e.eticket
ORDER BY posted
我知道分组或哪里是罪魁祸首但是我尝试了很多变化,这两个表的行是:
(表1 =表2)
(总计 =(项目+税收= 总计))
所以第二个表有2行,我总结。我需要日期,因为它有很多信息,我在日期和其他地方尝试过“is null”,但无法做到这一点。它显示左表的值,而不是null,就像它们匹配一样。
答案 0 :(得分:0)
所以我想通了!只是喜欢这个网站,并希望为任何遇到这个的人留下输入,如果我的信息不准确,请纠正我,因为我想详细解释但基本上,根据我的理解和SQL基础知识,空值被认为是外行和因此我需要一个“左外加入”:
SELECT p.ticket AS posted,
e.ticket AS settled,
Sum(e.amount)
FROM post AS p
LEFT JOIN settle AS e
ON p.ticket = e.ticket
WHERE p.date = '2016-05-10 00:00:00.000'
GROUP BY p.pticket,
e.eticket
ORDER BY posted
一个很好的规则,对我来说很有帮助,并帮助我检查我的空连接是Where
子句应该只有表的条件,其中不包括空值,所以你保持外行,除了“is null”。您可以将它与非保留表上的列一起使用,但仍然可以获取空值。