读书人

交叉表有关问题.高手帮忙解决一下! HE

发布时间: 2012-02-19 19:43:38 作者: rapoo

交叉表问题....高手帮忙解决一下! 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)

读书人网 >SQL Server

热点推荐