例如,id code name
1 01 aaa
1 02 bbb
2 01
2 02 ccc
如何查询输出为
id code=01 code=02
1 aaa bbb
2 ccc
select id,code from xxx where code in ('01','02')
CREATE TABLE [dbo].[test](
[id] [int] NULL,
[code] [varchar](50) NULL,
[name] [varchar](50) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
INSERT [dbo].[test] ([id], [code], [name]) VALUES (1, N'01', N'a')
INSERT [dbo].[test] ([id], [code], [name]) VALUES (1, N'02', N'b')
INSERT [dbo].[test] ([id], [code], [name]) VALUES (2, N'01', N'c')
INSERT [dbo].[test] ([id], [code], [name]) VALUES (2, N'02', N'd')
select * from test
pivot (max([name]) for [code] in([01],[02])) b
select t1.id,t1.name,t2.name from
(select * from 表名 where code='01') t1
left join
(select * from 表名 where code='02') t2
on
t1.id=t2.id
;