我不能使用错误的动态值bcoz声明"Lookup Error - SQL Server Database Error: Cannot perform a aggregate function on an expression containing an aggregate或子Value“。
以下是场景:查询1
select pr.PRDCT,sum(CASE when pr.DEFINITIONCD='NOP' and pr.PERIOD='D' then pr.PRAMOUNT else 0 END)
as 'NOP D' from PRODUCTWISE_REPORT pr group by pr.PRDCT查询2
select DEFINITIONTYPECD from REPORTKPIMAPTXN where DEFINITIONTYPECD='NOP' and REPORTSEQ = (select REPORTSEQ from report_m where REPORTCD='MIS_Product_Wise_Report') 查询2返回'NOP‘
因此,当我将查询2放入查询1中的'NOP‘时,它抛出错误
当我不得不使用Dynamic Query 2时,如何解决这个问题?
发布于 2014-09-11 22:06:50
您的第二个查询看起来可以用连接重写,而不是subselect。就像这样。当然,您仍然会遇到一些问题,因为您的第一个查询有两列,而这个查询只有一列。在UNION实际工作之前,您必须向该查询添加另一个列(可以为NULL)。
select r.DEFINITIONTYPECD
from REPORTKPIMAPTXN r
INNER JOIN report_m m on m.REPORTSEQ = r.REPORTSEQ
where DEFINITIONTYPECD = 'NOP'
and r.REPORTCD = 'MIS_Product_Wise_Report'https://stackoverflow.com/questions/25788841
复制相似问题