1

次のクエリを使用して、

WITH 
    cteTest (Employee_ID)
    AS
    (
        SELECT employee_ID FROM pep.dbo.labor_ticket
    )
SELECT Employee_ID FROM cteTest;

私は次のリターンを受け取ります:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'WITH'.

私には正しく見えます。サブクエリについて同様の質問をしましたが、cteTestという名前でテーブルのエイリアスを作成したため、ここでは同じロジックは適用されません。何が欠けていますか?

4

2 に答える 2

3

「WITH」の前にセミコロンを付けてみてください。

;WITH 
    cteTest (Employee_ID)
    AS
    (
        SELECT employee_ID FROM pep.dbo.labor_ticket
    )
SELECT Employee_ID FROM cteTest;
于 2011-02-14T22:29:32.833 に答える
1

この特定のデータベースは、CTEをサポートしていないSQLServer8.0上にあるようです。サブクエリで解決する必要があるようです。

数字、私がこれを見落としていたであろうSQLServerの3つの異なるバージョンを持つ会社で働いています。他のサーバーは9.0であり、この機能を問題なくサポートしています。この特定のDBに対してCTEを使用して何かを書く必要はありませんでした。毎日、何か新しいことを学びます:)

于 2011-02-14T22:33:29.820 に答える