具有声明和设置

时间:2017-09-27 03:59:01

标签: sql-server

我是sql-server的新手,我一直在学习有关-with和声明和设置的SQL查询。

我有一个问题要让我的查询简短。

DECLARE @MaxID int;
SET @MaxID = (SELECT MAX(rowNumber) FROM (
SELECT ROW_NUMBER() OVER(ORDER BY NoWkOrd ASC) AS rowNumber, a, b FROM 
t
) t1) ;
SELECT rowNumber, NoWkOrd, CdEquip, DtWkOrd
FROM (
   SELECT ROW_NUMBER() OVER(ORDER BY NoWkOrd ASC) AS rowNumber, a, b
   FROM t
 ) t1
WHERE rowNumber > @MaxID

这是一个orignal查询,我想通过使用with-as cuz两个查询同时使用两次来做这个简短。

DECLARE @MaxID int;
WITH t1
AS (
SELECT ROW_NUMBER() OVER(ORDER BY NoWkOrd ASC) AS rowNumber, a, b
FROM t
)
SET @MaxID = (SELECT MAX(rowNumber) FROM (t1) ;
SELECT rowNumber, NoWkOrd, CdEquip, DtWkOrd
FROM t1
WHERE rowNumber > @MaxID

但是这里有一个关于SET的错误,但我仍在努力解决错误...

0 个答案:

没有答案