Przykładowy schemat:
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,)
Czy istnieje sposób na uzyskanie wyników, które pokazują się następująco:
ID | OptionID | OptionName | OptionLName
Próbowałem to osiągnąć za pomocą UNION ALL, ale w moim przykładzie oznacza to przejście 3 razy w tym samym wierszu, w moim prawdziwym problemie muszę to zrobić 10 razy. Nie mogę normalizować tabeli z powodu starszego kodu. Czy istnieje sposób, aby przejść tylko raz wiersz podstawowy?
sql-server
sql-server-2012
JustinDoesWork
źródło
źródło