[解決済み] シンプルに保つ、クエリで複数のCTEを行う方法
2022-03-06 04:34:01
質問
この単純な T-SQL クエリは、あるテーブルから多数のカラムを出力し、さらに他のテーブルから情報を結合しています。 関連 テーブルを使用します。
私のデータモデルは単純です。予定されているイベントがあり、参加者がいます。各イベントに参加する参加者の人数を知る必要があります。
私の解決策は、予定されているイベントをグループ化し、参加者数をカウントするCTEを追加することです。
これによって、予定されているイベントごとにその情報を結合することができるようになります。クエリをシンプルに保つことができます。
しかし、将来、単純なクエリで一時的な結果を追加でアクセスできるようにする必要がある場合、どうすればよいでしょうか。
本当は複数のCTEを持てたらいいんだけど、無理だよね?この場合、どのような選択肢がありますか?
ビューやアプリケーションデータ層で何かをすることは除外しています。私はSQLクエリを分離するのが好きなんです。
どのように解決するのか?
複数の
CTE
を再利用することもできます。
CTE
:
WITH cte1 AS
(
SELECT 1 AS id
),
cte2 AS
(
SELECT 2 AS id
)
SELECT *
FROM cte1
UNION ALL
SELECT *
FROM cte2
UNION ALL
SELECT *
FROM cte1
ただし
SQL Server
を再評価することがあります。
CTE
のような値を使用している場合は、アクセスされるたびに、その値を変更する必要があります。
RAND()
,
NEWID()
などの間で変化することがあります。
CTE
を呼び出す。
関連
-
[解決済み] SQL Serverで小数点の後に2桁の数字を表示させる方法
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] 関数内から実行できるのは、関数と一部の拡張ストアドプロシージャのみです。
-
[解決済み] SQL Serverで文字列からすべてのスペースを削除する
-
[解決済み] SQL Server リンクサーバーのクエリ例
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み】CTE、サブクエリ、テンポラリテーブル、テーブル変数にパフォーマンスの違いはありますか?
-
[解決済み】SELECT * INTO tempTable FROM CTE クエリでテンポラリテーブルを作成する方法
-
[解決済み] INSERT INTOとWITH/CTEを組み合わせる
-
[解決済み] CTEとSubQueryの違い?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] try catch ブロックで @@trancount > 0 を確認する必要があるのはどのような場合ですか?
-
[解決済み] 管理者ユーザーで有効なxp_cmdshellへのアクセスが拒否されました。
-
[解決済み] SQL Server 2012 エラー: オブジェクト参照がオブジェクトのインスタンスに設定されていない
-
[解決済み] sp_columnsが結果を返さないのはなぜですか?
-
[解決済み] COUNTフィールドが正しくないか、構文エラーです。
-
[解決済み] create関数は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み] SQLでテーブルの行数を数える
-
[解決済み] SQL ServerでBegin / End BlocksとGoキーワードを使用する?
-
[解決済み] SQL Serverでdatetimeを切り捨てるにはどうすればよいですか?
-
[解決済み] SQL Serverは、ビュークエリでLEFT JOINをLEFT OUTER JOINに置き換えます。