行专列(不定列)及分组
发表在Oracle视频答疑 2009-05-03
是否精华
版块置顶:
有A表结构是这样:p_id为商品ID
p_id pname ... quantity        sname
 1    杯子        10           仓库1
 2    鞋子         5           仓库1
 1    杯子         3           仓库1
 1    杯子        15           仓库2
 2    鞋子        20           仓库2
 1    鞋子         8           仓库2
希望转换为B表:

p_id pname ...    仓库1        仓库2
 1    杯子        13            15
 2    鞋子         5            28
 
我用下面这语句查询出来却没有分组
declare @sql varchar(8000)
set @sql='Select p_id,pname,standard,medname,makearea,unitname1'
Select @sql=@sql+',sum(case when sname='''+sname+ ''' then quantity else 0 end) As '''+sname+''''
From vw_x_storehouse Group By sname
set @sql=@sql+'From vw_x_storehouse Group By p_id,sname,vw_x_storehouse.PName,Standard,MedName,MakeArea,UnitName1
order by p_id'
Print @sql
EXEC (@SQL)
p_id pname ...    仓库1        仓库2
 1    杯子        10            0
 1    杯子         0            15
 1    杯子         3            0
 2    鞋子         5            0
 2    鞋子         0            20
 2    鞋子         0            8

请问这个语句怎么才能实现B表的结果?
分享到:
精彩评论 1
学分: LV1
2009-05-05
沙发
读者您好:
    发布问题时请详细说明图书名称、章节号、实例号、实例名称或程序名称等内容,以便于我们有针对性的进行解答。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照