我需要从 SQL Server 存储过程生成报告,其中条件相同但 10 列的结果不同。
我为此使用 CASE 语句。每个 CASE 中还有 IF/ELSE 块。此 IF/ELSE 块从不同的列中提取数据。
我将相同的 CASE 语句重复 10 次,如下所示:
SELECT
CASE WHEN table1.Field="aa"
THEN
select table2.Field
ELSE
select table3.Field
END as 'FirstColumn',
CASE WHEN table1.Field="aa"
THEN
select table4.Field
ELSE
table5.Field END as 'SecondColumn'
这样我不得不重复相同的 CASE 语句 10 次。有人可以提出更好的方法吗?