Sql server 2008 第二次引用的TSQL失败
SQL Server 2008 R2-从2014 SSMS进行查询,但也从代码中失败 奇怪-第一次对表B的引用有效,第二次失败,出现“无效对象B”错误。我做错了什么?走吧,别帮我Sql server 2008 第二次引用的TSQL失败,sql-server-2008,tsql,Sql Server 2008,Tsql,SQL Server 2008 R2-从2014 SSMS进行查询,但也从代码中失败 奇怪-第一次对表B的引用有效,第二次失败,出现“无效对象B”错误。我做错了什么?走吧,别帮我 WITH B as (SELECT BatchOutId, SettleMerchantCode, BatchDate, BatchStatusCode, BatchTransCnt, BatchTotAmt, BatchAdjustAmt, BatchAdjustCnt FROM
WITH B as (SELECT BatchOutId, SettleMerchantCode, BatchDate, BatchStatusCode, BatchTransCnt, BatchTotAmt, BatchAdjustAmt, BatchAdjustCnt
FROM MAF01
GROUP BY BatchOutId, SettleMerchantCode, BatchDate, BatchStatusCode, BatchTransCnt, BatchTotAmt, BatchAdjustAmt, BatchAdjustCnt)
SELECT * FROM B ORDER BY BatchOutId DESC
SELECT * FROM B ORDER BY BatchOutId DESC
cte仅对一个查询有效,而不是对整个批次有效。因此,一旦您执行了第一个SELECT*FROM B,查询就完成了。下一个查询不再具有对第一个查询使用的cte的访问权限。这是意料之中的 CTE仅在下一条语句的范围内。它们只是命名查询 你也需要这样做
取决于您期望发生的情况。我知道这必须是重复的 您可以有多个CTE,但只能有一个语句
这两个Select是两个语句
如果你使用一个#temp,那么你可以有多个语句谢谢-我以前使用过两个选择,但它们之间有一个并集。