SQLクエリ、SELECTの結果をローカル変数に格納する
2023-11-04 08:14:31
質問
いくつかの結果を再利用したクエリを作成しました。結果を変数に入れて使用する方法を探しています。
こんな感じのものが欲しいな~というのを簡単に見る方法。
DECLARE @result1 ?????
SET @result1 = SELECT a,b,c FROM table1
SELECT a AS val FROM @result1
UNION
SELECT b AS val FROM @result1
UNION
SELECT c AS val FROM @result1
これではない:
SELECT a AS val FROM (SELECT a,b,c FROM table1)
UNION
SELECT b AS val FROM (SELECT a,b,c FROM table1)
UNION
SELECT c AS val FROM (SELECT a,b,c FROM table1)
気になるのはこのクエリの結果ではなく、代わりに
-
結果を何度も選択しないようにすること - 私のサンプルでは、テーブルを 3 回再選択しました。
-
のクエリは
@result1
は通常とても複雑です。だから、変数を使えば、コードはすっきりする。
多分、私は多くをしたい - またはローカル変数の型があります。型テーブルを使って、中にデータをセットするとか。
何かいい方法はないでしょうか?
ありがとうございます。
どのように解決するのですか?
テーブル変数を作成することができます。
DECLARE @result1 TABLE (a INT, b INT, c INT)
INSERT INTO @result1
SELECT a, b, c
FROM table1
SELECT a AS val FROM @result1
UNION
SELECT b AS val FROM @result1
UNION
SELECT c AS val FROM @result1
これで問題ないでしょう。
関連
-
[解決済み] 2つの日付の間の日付を選択するSQLクエリ
-
[解決済み] SQL Serverで動的なSELECT TOP @var
-
[解決済み】結合を使用したSQL更新クエリ
-
[解決済み] Sqlサーバーの文字列がNULLまたは空であるかどうかを確認する方法
-
[解決済み] LEFT OUTER JOINはどのように左のテーブルに存在するよりも多くのレコードを返すことができますか?
-
[解決済み】SQL Serverスキーマは何の役に立つのか?
-
[解決済み] データベーススキーマが存在するかどうかを問い合わせるには?
-
[解決済み] SQL Server 2005 で非クラスタ化インデックスが存在するかどうかを確認する方法
-
SQL Server Management Studio で SSIS パッケージを表示するにはどうすればよいですか?
-
SQL Serverでアクセントを無視した比較(eとè、é、ê、ë)を実行するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] nvarchar 型から datetime 型へのデータ型変換エラー
-
[解決済み] 存在しない重複があるため、インデックスを作成できない?
-
[解決済み] SQL Server 2005でアップサート(更新または挿入)する方法
-
[解決済み] SQL Server 2005 T-SQL での Base64 エンコーディング
-
[解決済み] データベーススキーマが存在するかどうかを問い合わせるには?
-
[解決済み] SQL Server 2008とSQL Server 2005の使用と日付時刻について
-
[解決済み] SQL Server 2005 で非クラスタ化インデックスが存在するかどうかを確認する方法
-
インデックスキーカラム VS インデックスインクルードカラム
-
SQL Server Management Studio で SSIS パッケージを表示するにはどうすればよいですか?
-
SQL Serverでアクセントを無視した比較(eとè、é、ê、ë)を実行するには?