关联两个表的行列转换
megin 2005-04-11 10:05:52 我的问题如下:
表1(T_MatlType)是存放物料的类型iMatlFamily、vCode
结构如下:
id int
iMatlFamily int
vCode varchar(50)
表2(T_MatlEnoughLev)结构如下:
id int
iAlertClass int
iMatlFamily int
iQty int
我现在将表2进行行列转换语句如下
DECLARE @sql varchar(8000)
SET @sql = 'select iAlertClass'
SELECT @sql = @sql + ' ,sum(case iMatlFamily when '''+cast(iMatlFamily as varchar(10))+''' then dDQtyPre end) ['+cast(iMatlFamily as varchar(10))+']'
FROM (SELECT DISTINCT iMatlFamily FROM T_MatlEnoughLev) AS a
SELECT @sql = @sql + ' from T_MatlEnoughLev group by iAlertClass'
EXEC (@sql)
查询结果:
iAlertClass 103 104 105 106 107
1 50 60 70 80 90
2 55 66 77 88 99
现在我想把查询结果中的103、104、105、106、107转换成为对应表1中的vCode,也就是我想得到如下的结果:
iAlertClass FA FB FC FD FE
1 50 60 70 80 90
2 55 66 77 88 99
该如何修改上面的语句?