有一个表是大概是这样的:
sn context groupname tm
1 ABCDE 1 2005-02-01
2 abc 1 2005-03-01
3 abc1 1 2005-03-01
4 abc2 0 2005-04-01
5 abc3 0 2005-04-01
6 abc4 1 2005-04-01
7 abc5 0 2005-05-01
现在想通个一个查询语句后得到下面的结果(nTemp1~12表示12个月)
groupname nTemp1 nTemp2 nTemp3 nTemp4 nTemp5 nTemp6 nTemp7 nTemp8 nTemp9 nTemp10 nTemp11 nTemp12
0 0 0 0 2 1 0 0 0 0 0 0 0
1 0 1 2 1 0 0 0 0 0 0 0 0请问这个查询语句怎么写啊?
sn context groupname tm
1 ABCDE 1 2005-02-01
2 abc 1 2005-03-01
3 abc1 1 2005-03-01
4 abc2 0 2005-04-01
5 abc3 0 2005-04-01
6 abc4 1 2005-04-01
7 abc5 0 2005-05-01
现在想通个一个查询语句后得到下面的结果(nTemp1~12表示12个月)
groupname nTemp1 nTemp2 nTemp3 nTemp4 nTemp5 nTemp6 nTemp7 nTemp8 nTemp9 nTemp10 nTemp11 nTemp12
0 0 0 0 2 1 0 0 0 0 0 0 0
1 0 1 2 1 0 0 0 0 0 0 0 0请问这个查询语句怎么写啊?
解决方案 »
- DataGrid控件的字段的宽度,如何设置
- 怎样突破OpenProcess的限制
- 高难问题,关于VB中MSHFlexGrid直接导到Excel里面.
- 如何使MDI窗体的最大化按钮的Enable为False,而且使窗体大小不能改变
- 我在98下做的安装程序,安装到xp下,怎么vb里的datareport报表出不来??
- 还是关于listview列表的值
- @@@ 酒店管理系统原代码出售 @@@
- 谁有阴历计算的公式和二十四节气的计算公式?
- 请问如何用adodc连接到远程数据库?
- 怎样才能在两个recorderset之间做到最快速复制,尤其在纪录很多时?
- 关于日期比较的问题(SQL SERVER)?在线等...
- 关于COMMONDIALOG的问题
groupname n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12
0 0 0 0 2 1 0 0 0 0 0 0 0
1 0 1 2 1 0 0 0 0 0 0 0 0
groupname n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12
0 0 0 0 2 1 0 0 0 0 0 0 0
1 0 1 2 1 0 0 0 0 0 0 0 0
groupname n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12
0 0 0 0 2 1 0 0 0 0 0 0 0
1 0 1 2 1 0 0 0 0 0 0 0 0
SELECT tb1.groupname
FROM tb1
GROUP BY tb1.groupname
PIVOT "nTemp" & Format([tm],"m") In ("nTemp1","nTemp2","nTemp3","nTemp4","nTemp5","nTemp6","nTemp7","nTemp8","nTemp9","nTemp10","nTemp11","nTemp12");
看不懂你的回复,那个PIVOT不知道是什么命令,且我试运行了一下,报错.
能再说明一下吗?
SUM(d.groupname) AS nTemp3
FROM t1 a LEFT OUTER JOIN
t1 b ON b.tm BETWEEN '2005-02-01' AND '2005-02-28' AND
a.sn = b.sn LEFT OUTER JOIN
t1 c ON c.tm BETWEEN '2005-03-01' AND '2005-03-31' AND
a.sn = c.sn LEFT OUTER JOIN
t1 d ON d.tm BETWEEN '2005-04-01' AND '2005-04-30' AND a.sn = d.sn
GROUP BY a.groupname