SQL存储过程行转列 有空值怎么处理
CJ表
张三语文80
张三数学100
张三物理79
JIM物理100
MACKDJ100
MACKNULLNULL
存储过程
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROCEDURE [dbo].[pro_ROWTOCOL] -- Add the parameters for the stored procedure hereASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here declare @sql varchar(4000) set @sql = 'select Name' select @sql = @sql + ',isnull(sum(case Subject when '''+Subject+''' then Result end),0) ['+Subject+']' from (select distinct Subject from CJ) as a select @sql = @sql+' from cj group by name' exec(@sql)END