Exemple de schéma:
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,)
Existe-t-il un moyen d'obtenir des résultats qui apparaissent comme:
ID | OptionID | OptionName | OptionLName
J'ai essayé d'y parvenir en utilisant UNION ALL, mais cela signifie que je dois parcourir la même ligne 3 fois dans mon exemple, dans mon vrai problème, je dois le faire 10 fois. Je ne peux pas normaliser la table en raison du code hérité. Existe-t-il un moyen de ne parcourir la ligne de base qu'une seule fois?
sql-server
sql-server-2012
JustinDoesWork
la source
la source