このストアド プロシージャによって生成された結果があります。
これらの結果を別のテーブルのデータと結合したいと考えています。一時テーブルを作成してそこに挿入するなど、これを行うさまざまな例を見てきましたが、ストアド プロシージャは変更される可能性のある多くの動的列を返すため、これは理想的ではありません。それらを動的に結合する方法はありますか?
シナリオ例:
ストアド プロシージャはこれを返します。
EXEC uspGetProductCategories
products_id | products_model | Leather Seats | Heated Seats | Tapedeck | Heater | Hybrid | Sunroof | Cruise Control
===================================================================================================================
100 | Saturn Vue | N | N | Y | N | N | N | N
200 | Toyota Pruis | Y | N | N | Y | Y | N | N
300 | Ford Focus | N | N | N | Y | N | N | Y
次のようなものを生成するSQLクエリでJOINしたい:
SELECT * FROM Products_Detail
products_id | manufacturer | purchaser | pay_type
=================================================
100 | GM | GREG | P
200 | TOYT | SAM | P
300 | FORD | GREG | L
言い換えると...
これを達成するための痛みのない方法はありますか?これが私が達成したいことのいくつかの擬似コードです(ただし、これが機能しないことは承知しています):
SELECT pd.*, sp.* FROM Products_Detail pd
LEFT JOIN uspGetProductCategories sp ON pd.product_id = sp.product_id
繰り返しますが、これができないことはわかっていますが、私が探しているロジックが説明されていることを願っています。
望ましい出力の例
products_id | manufacturer | purchaser | pay_type | products_model | Leather Seats | Heated Seats | Tapedeck | Heater | Hybrid | Sunroof | Cruise Control
=========================================================================================================================================================
100 | GM | GREG | P | Saturn Vue | N | N | Y | N | N | N | N
200 | TOYT | SAM | P | Toyota Pruis | Y | N | N | Y | Y | N | N
300 | FORD | GREG | L | Ford Focus | N | N | N | Y | N | N | Y