首先我的结果是这样的:
康顿 | 月 | 塞尔卡普斯科德 | 贝洛普 |
---|---|---|---|
459611 | 1 | 巴加 | 156000 |
459611 | 2 | 巴加 | 73000 |
459611 | 4 | 巴加 | 217000 |
459611 | 5 | 巴加 | 136000 |
459611 | 1 | 西沃 | 45896 |
459611 | 3 | 西沃 | 32498 |
459611 | 4 | 西沃 | 9841 |
330096 | 1 | 巴加 | 42347 |
330096 | 3 | 巴加 | 3695 |
我正在尝试在多个帐户上显示 2 个月的预订,每个帐户 ( KONTONR
) 有几个代码 ( SELSKAPSKODE
) 记录了预订(预订总和为BELOP
)。我想概述BELOP
每个帐户 ( KONTONR
) 每个代码 ( ) 每月的预订 ( ) 总和SELSKAPSKODE
。我的问题是,如果没有对该代码进行预订,则该代码不会在一个月内显示。有没有办法解决这个问题?我理解为什么代码不显示,因为它们根本不在我要查询的表中。而且我怀疑解决方案是制作一个“假”表,然后将其与“另一个”表连接(左外连接?)。
我只是无法让它工作,我对 SQL 很陌生。有人可以帮忙吗?
我的查询看起来像这样(我只插入了“嵌套”查询来设置连接,如果这有意义吗?!):
SELECT TOP (100) PERCENT KONTONR, Month, SELSKAPSKODE, BELOP
FROM (
SELECT SELSKAPSKODE, KONTONR, SKIPS_KODE, MONTH(POSTDATO) AS Month, SUM(BELOP) AS BELOP
FROM dbo.T99_DETALJ
WHERE (POSTDATO >= '2012-01-01') AND (BILAGSART = 0 OR BILAGSART = 2)
GROUP BY SELSKAPSKODE, KONTONR, SKIPS_KODE, MONTH(POSTDATO)
) AS T99_summary
GROUP BY KONTONR, SELSKAPSKODE, Month, BELOP
ORDER BY KONTONR, SELSKAPSKODE, Month
所以最后我想“填补”缺失的月份(见开头的表格),例如账户 ( KONTONR
) 459611 第 3 个月是“缺失的”。我想显示第 3 个月,预订总和 ( BELOP
) 为“0”。非常感谢任何帮助,在此先感谢!