提要:这个问题是我在笔试的时候出现的问题,当初看到题目,脑海一片空白,笔试完毕,在网上查询之后,才发现这类问题考察的是SQL的字符的拼接和拆分问题,下面进行正题:
1、具体表table1和table2如下所示:
表table1:
type_name city_name
A '西安'
A '兰州'
A '酒泉'
A '武威'
B '北京'
B '上海'
B '广州'
表table2:
type_name city_name
A '西安、兰州、酒泉、武威'
B '北京、上海、广州'
2、问题1:如何将table1转换为table2?(将多行数据合并在一行里)
select type_name,
(stuff(
(select ',' + city_name from table1 a where a.type_name = b.type_name for xml path ('')),
1,
1,
'