34,838
社区成员




--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([商家id] nvarchar(25),[发货日期] Date,[仓库名称] nvarchar(23))
Insert #T
select N'user1','2019/8/8',N'1号库' union all
select N'user2','2019/8/7',N'2号库' union all
select N'user2','2019/8/3',N'1号库' union all
select N'user1','2019/7/8',N'4号库' union all
select N'user4','2019/8/10',N'3号库' union all
select N'user3','2019/8/10',N'3号库' union all
select N'user4','2019/8/11',N'2号库'
Go
--测试数据结束
DECLARE @sql VARCHAR(MAX)
SET @sql = 'select 商家id'
SELECT @sql = @sql + ',max(case [仓库名称] when ''' + [仓库名称]
+ ''' then [发货日期] else null end)[' + [仓库名称] + ']'
FROM ( SELECT DISTINCT
[仓库名称]
FROM #T
) a
SET @sql = @sql
+ ' from #T group by 商家id'
EXEC(@sql)