使用SQL Server临时表来实现字符串合并处理
处理的数据1.CREATE TABLE tb(col1 varchar(10),col2 int)
2.INSERT tb SELECT 'a',1
3.union ALL SELECT 'a',2
4.union ALL SELECT 'b',1
5.union ALL SELECT 'b',2
6.union ALL SELECT 'b',3
合并处理
1.SELECT col1,col2=CAST(col2 as varchar(100))
2.INTO #t FROM tb
3.ORDER BY col1,col2
4.DECLARE @col1 varchar(10),@col2 varchar(100)
5.UPDATE #t SET
6.@col2=CASE WHEN @col1col1=col1 THEN @col2+','+col2 ELSE col2 END,
7.@col1col1=col1,
8.col2=@col2
9.SELECT * FROM #t
更新处理后的SQL Server临时表
1.col1 col2
2. -
3.a 1
4.a 1,2
5.b 1
6.b 1,2
7.b 1,2,3
8.*/
得到最终结果
1.SELECT col1,col2=MAX(col2) FROM #t GROUP BY col1
2./*结果
3.col1 col2
4. -
5.a 1,2
6.b 1,2,3
7.*/
删除测试
1.DROP TABLE tb,#t
2.GO
Ps:
cast:将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CAST:
CAST ( expression AS data_type )
页:
[1]