2016-12-29 69 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