【发布时间】:2015-02-02 05:27:37
【问题描述】:
这是我的数据表 tbl_counter
refId refMid dateTimeStmp volCtr1 volCtr2 volCtr3 volCtr4
----------- ----------- ----------------------- ----------- ----------- ----------- -----------
3 DEVICE1 2014-03-01 00:00:00.000 100 200 300 400
4 DEVICE1 2014-03-02 00:00:00.000 100 200 300 400
5 DEVICE1 2014-03-03 00:00:00.000 100 200 300 400
6 DEVICE2 2014-03-02 00:00:00.000 100 200 300 400
7 DEVICE2 2014-03-03 00:00:00.000 100 200 300 400
8 DEVICE3 2014-03-03 00:00:00.000 100 200 300 400
9 DEVICE3 2014-03-01 00:00:00.000 100 200 300 400
10 DEVICE5 2014-03-01 00:00:00.000 100 200 300 400
11 DEVICE5 2014-03-02 00:00:00.000 100 200 300 400
12 DEVICE5 2014-03-03 00:00:00.000 100 200 300 400
13 DEVICE5 2014-03-04 00:00:00.000 100 200 300 400
14 DEVICE6 2014-03-04 00:00:00.000 100 200 300 400
15 DEVICE7 2014-03-02 00:00:00.000 100 200 300 400
16 DEVICE8 2014-03-01 00:00:00.000 100 200 300 400
17 DEVICE8 2014-03-02 00:00:00.000 100 200 300 400
18 DEVICE8 2014-03-03 00:00:00.000 100 200 300 400
19 DEVICE8 2014-03-04 00:00:00.000 100 200 300 400
我需要的是以下格式的数据
DATE DEVICE1 DEVICE2 DEVICE3 DEVICE4 DEVICE5 DEVICE6 DEVICE7 DEVICE8
01-03-2014 1000 1000 1000 1000
02-03-2014 1000 1000 1000 1000 1000
03-03-2014 1000 1000 1000 1000 1000
04-03-2014 1000 1000 1000
(在结果表 DEVICE*n 列中包含 volCtr1+volCtr2+volCtr3+volCtr4) 这可以通过为每个设备创建临时表并使用连接来完成,但我需要更好的方法(如果有的话)。
【问题讨论】:
标签: sql sql-server select sum pivot