Если у меня есть таблица, которая выглядит следующим образом:
ID int
Name varchar
City1 varchar
City2 varchar
City3 varchar
State1 varchar
State2 varchar
State3 varchar
Я понимаю, что в обычном операторе SELECT будут возвращаться такие данные:
ID, Name, City1, City2, City3, State1, State2, State3
Но как мне вернуть инструкцию SELECT, чтобы вернуть несколько городов / штатов в разные строки и сгруппировать их ... Так это выглядит так:
ID, Name, City, State
И вместо этих столбцов: Color1, Color2, Color3 и State1, State2, State3
В операторе SELECT было бы больше строк, где все остальные данные остались бы прежними, если 1,2,3 не равно нулю.
Есть предложения о том, как подойти к этому, используя наименьшее количество кода? Предпочтительно один оператор SELECT, который обрабатывает все это?