注册 登录
编程论坛 SQL Server论坛

求助:如何用SQL实现以下转换

tong588 发布于 2010-02-27 10:38, 758 次点击
假如有100种商品,每家店只能摆其中的7种(有可能为1种\2种\3种\4种.....7种),如何将以下格式:
商店名称  商店编号  商品种类  
A          1           甲1
A          1           甲2
A          1           甲3
B          2           甲23
C          3           甲21
C          3           甲12
C          3           甲1
转化为:
商店名称  商店编号  商品1   商品2     商品3     商品4   商品5    商品6   商品7
A         1          甲1     甲2      甲3
B         2          甲23
C         3          甲21    甲12     甲1
7 回复
#2
cnfarer2010-02-27 11:10
先将原表转换成:商店名称 商品序号 商品种类
A          商品1           甲1
A          商品2           甲2
A          商品3           甲3
B          商品1           甲23
C          商品1           甲21
C          商品2           甲12
C          商品3           甲1

然后使用交叉表查询即可
#3
三断笛2010-02-27 16:29
应该用行列转换.你的数据表还少了一列,没有指明"甲1","甲2","甲3"...这些是属于哪种商品.
#4
tong5882010-02-27 23:24
甲1 甲2本身就是商品种类商品1商品2 可以理解成货架1货架2
#5
三断笛2010-02-28 19:10
那你数据表里没有商品和货架的对应信息.少了一列
#6
sjz_zdf2010-03-02 22:56
分组查询就行吧。
#7
依别2010-03-09 12:00
这个很难
1