求一条sql2005 语句

[复制链接]
查看11 | 回复5 | 2011-5-23 09:34:51 | 显示全部楼层 |阅读模式
表如下:
A
B
C '字段
01 一仓5
01 二仓5
02 三仓5
01 三仓5
显示为:
A
一仓 二仓 三仓
01 5
5
5
02
0
0
5

回复

使用道具 举报

千问 | 2011-5-23 09:34:51 | 显示全部楼层
以下SQL语句在SQL Server 2005下测试通过:SELECTDISTINCT A, '一仓' = CASE WHEN (SELECT C FROM Table1 t2 WHERE t2.A = t1.A AND t2.B = '一仓')IS NULL THEN 0 ELSE (SELECT C FROM Table1 t2 WHERE t2.A = t1.A AND t2.B = '一仓') END,'二仓' = CASE WHEN (SELECT C FROM Table1 t2 WHERE t2.A = t1.A AND t2.B = '二仓')IS NULL THEN 0 ELSE (SELECT C FROM T
回复

使用道具 举报

千问 | 2011-5-23 09:34:51 | 显示全部楼层
SQL Server 2005支持旋转运算符pivotselect A,isnull([一仓],0) as [一仓], isnull([二仓],0) as [二仓], isnull([三仓],0) as [三仓]from tablenamepivot( sum(C) for B in ([一仓], [二仓], [三仓])) pvt
回复

使用道具 举报

千问 | 2011-5-23 09:34:51 | 显示全部楼层
select A,isnull(sum(case when B='一仓' then C else 0 end),0) as 一仓,isnull(sum(case when B='二仓' then C else 0 end),0) as 二仓,isnull(sum(case when B='三仓' then C else 0 end),0) as
回复

使用道具 举报

千问 | 2011-5-23 09:34:51 | 显示全部楼层
在我的印象中SQL语句绝对无法改变表的结构 还是用视图吧
回复

使用道具 举报

千问 | 2011-5-23 09:34:51 | 显示全部楼层
没看明白什么意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行