存储过程和动态SQL:
create procedure p_a (@a varchar)
as
declare @sql varchar(300)
set @sql = 'select a1,' +
(case when a2 is null then '' else 'a2,' end) +
(case when a3 is null then '' else 'a3,' end) +
......
(case when a5 is null then '' else 'a5,' end) +
from table1 where a1 = @a
set @sql = left(@sql, len(@sql) - 1) + ' from table1 where a1 = "'+@a+'"'
exec (@sql)
go
create procedure p_a (@a varchar)
as
declare @sql varchar(300)
set @sql = 'select a1,' +
(case when a2 is null then '' else 'a2,' end) +
(case when a3 is null then '' else 'a3,' end) +
......
(case when a5 is null then '' else 'a5,' end) +
from table1 where a1 = @a
set @sql = left(@sql, len(@sql) - 1) + ' from table1 where a1 = "'+@a+'"'
exec (@sql)
go
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货