我有一套用于打印标签的地址,我想将它们分组。
What I have:
UID CustName LocName State Zip Comments1 Comments2
=========================================================
1 John R1 NC 158631 Foo Bar
2 Smith R2 SC 126543 Bla Bla Bla
What I'm looking for:
Col_1 Col_2 Col_3
=============================
John R1 NC
158631 Foo Bar
Smith R2 SC
126543 Bla Bla Bla
我希望这是有道理的。
答案 0 :(得分:2)
您需要取消每组3中的数据列。如果您使用的是SQL Server 2005+,则可以使用CROSS APPLY来获取结果:
select col_1, col_2, col3
from yourtable
cross apply
(
select custname, locname, state union all
select zip, comments1, comments2
) c (col_1, col_2, col3)
order by uid;
注意,您放在一起的列上的数据类型必须相同,例如zip
是int
,那么您必须将其转换为varchar
所以您可以将数据放在与custname
相同的列中。