SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错

本次遇到的问题是CROSS APPLY的内部查询语句中的聚合函数包含CASE WHEN判断,且同时又内部语句的表的列和外部引用的表的列,此时会报下列的错误。

消息 8124,级别 16,状态 1,第 10 行
在包含外部引用的被聚合表达式中指定了多个列。如果被聚合的表达式包含外部引用,那么该外部引用就必须是该表达式中所引用的唯一的一列。

把外部传入的列做成一个子查询然后输出列

CROSS JOIN(

SELECT 外部传入列1 AS XXXX

) AS T

然后再把子查询的列加入到CASE WHEN 中去判断

原文地址:https://www.cnblogs.com/jenrrychen/p/8005080.html