【发布时间】:2019-02-13 16:54:33
【问题描述】:
这是我的 sql 查询。如何将 Count_CTE.TotalRecords 结果分配给我的本地分配变量?有人请吗???
DECLARE @Totalrecords Bigint =0;
;WITH Main_Query_CTE AS(
SELECT
U.Id,
U.Username,
P.Id as ProfileId,
P.Firstname,
P.Lastname
FROM [Dbo].[User] U
INNER JOIN [Profile] P
ON U.Id = P.Userid
WHERE AND U.[Status] <>0
),
Count_CTE AS ( SELECT COUNT(*) as TotalRecords FROM Main_Query_CTE )
SELECT * FROM Main_Query_CTE ,Count_CTE
ORDER BY Main_Query_CTE.Id
OFFSET 0 ROWS
FETCH NEXT 20 ROWS ONLY
【问题讨论】:
-
。 . SQL Server 不提供在同一
SELECT语句中同时返回结果和分配给变量的功能。您的问题不清楚。 -
感谢 Gordon 的及时回复。除了我的查询结果之外,我还想用记录总数设置输出参数。但不幸的是,SQL Server 没有提供任何方法可以将单列值分配给本地声明的变量。我正在寻找不使用#temp 表来实现这一目标的方法。
标签: sql sql-server-2012 common-table-expression