请教一个问题,如何将表记录转换为字段?急啊!!!!
如题:
小弟现在有两个表,如下:
Info表:
infoID infoName infoTpye infoClass
0001 电脑 IBM 台式机
0002 打印机 Star 针式
Property表:
pID Property infoID PropertyValue
01 CPU 0001 P4\3.0
02 内存 0001 2G
03 针头 0002 24针
最后想要的结果:(Table3)
infoID infoName infoType infoClass CPU 内存 针头
0001 电脑 IBM 台式机 P4\3.0 2G Null
0002 打印机 Star 针式 Null Null 24针
请问一能实现吗?如能实现,该如何写SQL词句?(最终要的是Table3的结果集)
请大虾解释一下,万分感激!!!!!
------解决方案----------------------原始数据:#Info
create table #Info(infoID varchar(4),infoName varchar(6),infoTpye varchar(4),infoClass varchar(7))
insert #Info
select '0001 ', '电脑 ', 'IBM ', '台式机 ' union all
select '0002 ', '打印机 ', 'Star ', '针式 '
--原始数据:#Property
create table #Property(pID varchar(2),Property varchar(4),infoID varchar(4),PropertyValue varchar(7))
insert #Property
select '01 ', 'CPU ', '0001 ', 'P4\3.0 ' union all
select '02 ', '内存 ', '0001 ', '2G ' union all
select '03 ', '针头 ', '0002 ', '24针 '
select a.*,
CPU=(select PropertyValue from #Property where infoID=a.infoID and Property= 'CPU '),
内存=(select PropertyValue from #Property where infoID=a.infoID and Property= '内存 '),
针头=(select PropertyValue from #Property where infoID=a.infoID and Property= '针头 ')
from #Info a
/*
infoID infoName infoType infoClass CPU 内存 针头
0001 电脑 IBM 台式机 P4\3.0 2G NULL
0002 打印机 Star 针式 NULL NULL 24针
*/
--删除对象
drop table #Info,#Property