2016-12-29 126 views
0

这个问题是关于早期的post of mine与我在SQL Server中运行的代码。我现在使用的是Sybase ASE 15.7,并遇到CTE的问题。我收到的错误是在下面的代码的WITH部分。我检查了this post哪些国家使用子查询,但不是我用什么?我并不熟悉CTE'sSybase ASE 15.7 CTE到子查询问题

我在SQL Server和Sybase之间做的唯一改变是我使用的是temp table#TEST1,而不是真正的table

我需要更改什么才能使查询生效?

WITH range 
AS (
SELECT NM1 AS c FROM #TEST1 
    UNION 
    SELECT NM2 FROM #TEST1 
    UNION 
    SELECT NM3 FROM #TEST1 
    UNION 
    SELECT NM4 FROM #TEST1 
    UNION 
    SELECT NM5 FROM #TEST1) 
SELECT r1.c, r2.c, r3.c, r4.c, r5.c 
FROM range r1, range r2, range r3, range r4, range r5 
WHERE r1.c<r2.c AND r2.c<r3.c AND r3.c<r4.c AND r4.c<r5.c 

回答

0

我旋转了原来的桌子,这让我可以省去代码的WITH部分。现在它的工作!

+1

Sybase ASE不支持CTE,所以确实需要重写整个查询。 – RobV