0
我想结合查询中不同时期的不同总和结合不同的集合函数与CASE
我使用下面的查询来获得总和。
SELECT table1.BRS,
Sum(CASE WHEN table2.DATUM BETWEEN :van1 AND :tot1 THEN (DBBASIS-CRBASIS) ELSE (0) END)
FROM table1 INNER JOIN table2 ON (table1.id= table2.id)
WHERE table2.DATUM BETWEEN :van1 AND :tot1
group by BRS
而且这个工作原理是一样的。
如果我升级到了第二和
SELECT table1.BRS,
Sum(CASE WHEN table2.DATUM BETWEEN :van1 AND :tot1 THEN (DBBASIS-CRBASIS) ELSE (0) END),
Sum(CASE WHEN table2.DATUM BETWEEN :van2 AND :tot2 THEN (DBBASIS-CRBASIS) ELSE (0) END)
FROM table1 INNER JOIN table2 ON (table1.id= table2.id)
WHERE table2.DATUM BETWEEN :van1 AND :tot1 or table2.DATUM BETWEEN :van2 AND :tot2
group by BRS
我得到一个误报2重复列,即使数据是不同的。 查询对第二个和使用相同的日期。 当我将第二个总和更改为最大功能时,它使用第二个日期
如何组合这两个功能的结果。
PS:Interbase的不能使用
Select * from (Select Sum from...) Join (Select Sum from...)
数据(DBBASIS&CRBASIS)是在table1中。 thnx为你答案,我觉得我接近,但还没有那里 – 2013-02-28 13:38:52
thnx为编辑,我真的很接近,但我得到只有几个结果行,而我需要更多,感觉就像它有一些与联接? – 2013-02-28 13:52:41
没关系,我得到一个空的结果表,因为如果我的日期不重叠,并且它给出了通过两个周期的记录的结果 – 2013-02-28 13:55:38