ストアド プロシージャを作成しようとしていますが、特定の列の値に応じて、選択するテーブルを変更できるようにしたいと考えています。例を挙げてみましょう:
SELECT ItemNumber,
ItemType,
Description
FROM
CASE ItemType
WHEN 'A' THEN TableA
ELSE TableB
END
WHERE
CASE ItemType
WHEN 'A' THEN ItemNumber = @itemNumber
ELSE PartNumber = @itemNumber
END
ご覧のとおり、選択したテーブルを動的に変更しているだけでなく、これら 2 つのテーブルは 2 人の異なる人物によって 2 つの異なる時期に作成されたため、列名も異なります。
だから、私の質問は次のとおりです。これを達成するための最良の方法は何ですか。SQL Server は私が作成したクエリを気に入らないようです。
私がやろうとしていることを見ている人がこれを行うためのより良い方法を提案できるなら、私はすべての耳になります:-)