スキーマの例:
CREATE TABLE [dbo].[Base](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Option1ID] [int] NULL,
[Option2ID] [int] NULL,
[Option3ID] [int] NULL,
[Option1Name] [varchar] NULL,
[Option2Name] [varchar] NULL,
[Option3Name] [varchar] NULL,
[Option1LName] [varchar] NULL,
[Option2LName] [varchar] NULL,
[Option3LName] [varchar] NULL,)
次のように表示される結果を取得する方法はありますか?
ID | OptionID | OptionName | OptionLName
私はUNION ALLを使用してこれを達成しようとしましたが、これは私の例では同じ行を3回処理することを意味し、実際の問題では10回実行する必要があります。レガシーコードのため、テーブルを正規化できません。ベース行を一度だけ超える方法はありますか?