我有这个有价值的 RoomTable
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 和 BPhase 的总和。
- 从每个房间的最大日期开始的 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
任何想法将不胜感激。谢谢。