WITH t(num) AS (SELECT MAX(stok) FROM cd)
WITH y AS (SELECT cdno FROM cd,t WHERE cd.stok IN (t.num))
select * from y
我有这个代码线程。但是不正确,我有一些错误。我不是为什么请帮忙。
当我使用第1行并且select * from t
正在使用时,但这种类型无效。
答案 0 :(得分:1)
你不能像这样接着两个CTE(Common Table Expression)。如果要定义两个 CTE,则需要使用以下语法:
WITH t(num) AS
(
SELECT MAX(stok)
FROM cd
), y AS
(
SELECT cdno
FROM cd, t
WHERE cd.stok IN (t.num)
)
SELECT *
FROM y
您可以使用逗号,
将逗号链接,然后将WITH
关键字留给后续的CTE。