我正在使用 SQL Server 2012,我需要帮助才能获得以下输出。我的表结构如下:
declare @TestTable table (MaterialCode char(5), ItemCode char(5), ItemName varchar(50))
insert into @TestTable values ('AA-01', 'A0001', 'iPhone')
insert into @TestTable values ('AA-02', 'A0001', 'iPad')
insert into @TestTable values ('AA-03', 'A0001', 'iPod')
insert into @TestTable values ('AA-01', 'B0001', 'Galaxy Tab')
insert into @TestTable values ('AA-02', 'B0001', 'Galaxy Note')
insert into @TestTable values ('AA-01', 'C0001', 'Nokia Lumnia')
insert into @TestTable values ('AA-02', 'C0001', 'Motorola')
insert into @TestTable values ('AA-03', 'C0001', 'Samsung S3')
insert into @TestTable values ('AA-04', 'C0001', 'Sony')
--select * from @TestTable
select MaterialCode, ItemCode as [A_ItemCode], ItemName as [A_ItemName]
from @TestTable where ItemCode='A0001'
select MaterialCode, ItemCode as [B_ItemCode], ItemName as [B_ItemName]
from @TestTable where ItemCode='B0001'
select MaterialCode, ItemCode as [C_ItemCode], ItemName as [C_ItemName]
from @TestTable where ItemCode='C0001'
而我需要的输出应该是从上面三个select语句产生的,应该如下:
如您所见,当没有记录时,NULL 会显示在那里。谁能帮我得到这个输出。TIA。
编辑
@JohnLBevan,我尝试了您的枢轴方法,当我有另一条记录时 ItemCode = D0001
insert into @TestTable values ('AA-05', 'D0001', 'Test1')
现在,即使该记录也显示为
AA-05 NULL NULL NULL NULL NULL NULL
如何避免这些类型的记录。