私はSQLサーバ上でwith節のいくつかの時間エイリアスを使いたいです。エイリアスを持つSQLのいくつかの使用
例:
WITH name1 AS (
SELECT ...
)
SELECT * from name1
SELECT * from name1 ORDER BY name
が、それは可能ですか? 私は、「無効なオブジェクト名」エラー構文を以下のように
私はSQLサーバ上でwith節のいくつかの時間エイリアスを使いたいです。エイリアスを持つSQLのいくつかの使用
例:
WITH name1 AS (
SELECT ...
)
SELECT * from name1
SELECT * from name1 ORDER BY name
が、それは可能ですか? 私は、「無効なオブジェクト名」エラー構文を以下のように
は何を使用しようとしていることはその部分だけが正常に動作します
WITH name1 AS (
SELECT ...
)
SELECT * from name1
直後のDMLで使用可能ですCTE
、です。次のselect
ステートメントはCTE
へのアクセス権を持ちません。代わりにtable variable
を使用してみてください
共通テーブル式になっています:
WITH name1 AS
(
SELECT ...
)
SELECT * from name1
あなたがよりCTE テーブルの詳細を使用したい.IFあなたはCTEテーブル1つだけのSELECTステートメントを使用することができます一度、あなたはそのCTEテーブルに移動してテーブルを一時的にし、そのテーブルをすべての場所で使用します。
代わりにビューを作成してください。異なるクエリで使用できます。 – jarlh
CTEは 以降のステートメントです。単一のSELECT/INSERT/UPDATE/DELETE、または複合語(UNION、INTERSECTなど) –
にすることができます。最初のSELECTはCTE名1からのみ実行できます。 2番目のSELECTはエラーを出しています。 –