首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-19 
交叉表问题....高手帮忙解决一下! HELP!HELP!HELP!HELP!HELP!HELP!HELP!HELP!HELP!HELP!id表示用户visit表

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

热点排行