如果我有一个表,看起来像这样:如何将列转换为行
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
如果所有其他数据保持不变,则它们将只是更多的行,如果1,2,3不为空。
关于如何使用最少的代码来处理这个问题的任何建议?最好是一个处理这一切的SELECT语句?
可能重复[SQL服务器?我可以用逗号分隔多行合并到一列(http://stackoverflow.com/questions/2046037/sql-server-can-i-comma-delimit-multiple -row-into-one-column) –