交叉表问题....高手帮忙解决一下! HELP!HELP!HELP!HELP!HELP!HELP!HELP!
HELP!HELP!HELP!   
       id            表示用户 
       visit   表示反问次数    
       goods   表示发生顺序 
       mame      表示发生   物品名称   
 id               visit         goods         name 
 196	1	1	衣服 
 196	1	2	裤子 
 196	1	3	帽子 
 196	2	1	鞋 
 196	2	2	袜子 
 196	2	3	皮带 
 196	2	4	衣服 
 566	1	1	钢笔 
 566	2	1	啤酒 
 566	3	1	螺丝刀     
    变成下表   
 id               visit         goods1      goods2      goods3      goods4 
 196	1	衣服	裤子	帽子	NULL 
 196	2	鞋	袜子	皮带	衣服 
 566	1	钢笔	NULL	NULL	NULL 
 566	2	啤酒	NULL	NULL	NULL 
 566	3	螺丝刀	NULL	NULL	NULL     
 一般交叉表判断一个字段   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)