交叉表问题....高手帮忙解决一下! HELP!HELP!HELP!HELP!HELP!HELP!HELP!
HELP!HELP!HELP!
id 表示用户
visit 表示反问次数
goods 表示发生顺序
mame 表示发生 物品名称
id visit goods name
19611衣服
19612裤子
19613帽子
19621鞋
19622袜子
19623皮带
19624衣服
56611钢笔
56621啤酒
56631螺丝刀
变成下表
id visit goods1 goods2 goods3 goods4
1961衣服裤子帽子NULL
1962鞋袜子皮带衣服
5661钢笔NULLNULLNULL
5662啤酒NULLNULLNULL
5663螺丝刀NULLNULLNULL
一般交叉表判断一个字段 group by 就可以了。但是这个表 要判断唯一性是通过两个字段。
另外 数据类型转换 也出现问题了。所以 跪球高手指教啊!!!
[解决办法]
或者
--動態
declare @str varchar(1000)
set @str= 'select id,visit '
select @str=@str+ ',min(case when goods= ' ' '+goods+ ' ' ' then name else Null end) as ' ' '+goods+ ' ' ' '
from t group by goods
select @str=@str+ ' from t group by id,visit '
exec(@str)