sql 如何根据条件查询

例如,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
;