总价值和价值2000查询我有这个RoomTable与价值SQL Server将从最大日
SID Room Date APhase BPhase ACount BCount
1 One 10/28/2012 4 5 3 6
2 One 10/29/2012 2 3 -1 -1
3 One 10/30/2012 4 5 7 -1
4 Two 10/28/2012 8 3 2 3
5 Two 10/30/2012 3 5 4 6
6 Three 10/29/2012 5 8 2 -1
7 Three 10/30/2012 5 6 -1 4
8 Four 10/29/2012 6 2 -1 -1
9 Four 10/30/2012 5 8 -1 -1
我想是返回如下:
- APhase和β-相的总和每个房间。
- 从每个房间的最大日期计算ACount和BCount的值
- 如果ACount值为-1,则使用上一个日期。与BCount相同。
- 如果ACount值是-1并且前一个日期是-1等等。然后使用0.与BCount相同。
我可以得到1号的查询与此查询
SELECT Room, sum(APhase) as TotalAPhase, sum(BPhase) as TotalBPhase
FROM RoomTable
WHERE Date between '10/28/2012' and '10/30/2012'
group by Room
order by Room
但我对如何将数2-4查询困惑。
这是输出我想
Room TotalAPhase TotalBPhase ACount BCount
One 10 13 7 6
Two 11 8 4 6
Three 10 13 2 4
Four 11 10 0 0
任何想法将非常感激。谢谢。
我不能让SQL Server 2000上这项工作,它说因为它不是在聚合函数包含列“RT.Room”在选择列表中无效.. 。 – quinekxi
@quinekxi:尝试在GROUP BY中使用'RT.'作为前缀'Room'(一种疯狂的猜测)。 –
@AndriyM:这真是一个很好的猜测。现在它的工作就是我想要的。谢谢,谢谢yildizm85 – quinekxi