ตัวอย่างสคีมา:
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 ครั้ง ฉันไม่สามารถทำให้มาตรฐานเป็นปกติได้เนื่องจากรหัสดั้งเดิม มีวิธีในการข้ามแถวฐานเพียงครั้งเดียวเท่านั้นหรือไม่