一部の結果を再利用してクエリを作成します。結果を変数に入れて使用する方法を検索します。
私が欲しいものを次のように見る簡単な方法 - 私はこれが欲しい:
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
は通常、はるかに複雑です。したがって、変数を使用すると、コードがよりクリーンになります。
多分私はたくさんしたい - またはローカル変数のタイプがあります。または、型テーブルを使用して内部にデータを設定します。
あなたは私に何を提案しますか?
ありがとうございました