Sql 使用Union时如何创建临时表?
我不能使用错误声明的动态值bcoz “查找错误-SQL Server数据库错误:无法对包含聚合或子查询的表达式执行聚合函数。” 以下是场景: 问题1 问题2Sql 使用Union时如何创建临时表?,sql,sql-server,database,sql-server-2008,group-by,Sql,Sql Server,Database,Sql Server 2008,Group By,我不能使用错误声明的动态值bcoz “查找错误-SQL Server数据库错误:无法对包含聚合或子查询的表达式执行聚合函数。” 以下是场景: 问题1 问题2 select DEFINITIONTYPECD from REPORTKPIMAPTXN where DEFINITIONTYPECD='NOP' and REPORTSEQ = (select REPORTSEQ from report_m where REPORTCD='MIS_Product_Wise_Report') 查询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”时,它会抛出错误
当我必须使用动态查询2时,如何解决此问题?您的第二个查询看起来可以使用联接而不是子选择来重写。像这样的。当然,您仍然会遇到一些问题,因为您的第一个查询有两列,而这只有一列。在联合实际工作之前,必须向该查询添加另一列(可以为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'
请提供样本数据和预期结果。
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'