我有一些數據TSQL查詢來連接並刪除常見的前綴
id ref
== ==========
1 3536757616
1 3536757617
1 3536757618
,並希望得到的結果
1 3536757616/7/8
所以本質上是數據彙總的ID,與裁判連接在一起,用斜槓'/'分開,但是除去任何通用前綴,因此如果數據類似於
id ref
== ==========
2 3536757628
2 3536757629
2 3536757630
我想要得到的結果
2 3536757629/28/30
我知道我可以簡單地串聯裁判使用
SELECT distinct
id,
stuff ((SELECT
'/ ' + ref
FROM
tableA tableA_1
where tableA_1.id = tableA_2.id
FOR XML PATH ('')) , 1 , 2 , '')
from TableA tableA_2
給
1 3536757616/ 3536757617/ 3536757618
2 3536757628/ 3536757629/ 3536757630
,但它是刪除了我的共同元素中的位之後.....
代碼的測試數據:
create table tableA (id int, ref varchar(50))
insert into tableA
select 1, 3536757616
union select 1, 3536757617
union select 1, 3536757618
union select 2, 3536757628
union select 2, 3536757629
union select 2, 3536757630
+1。我的頭痛苦地試圖圍繞這個包裹我的大腦,但它確實是一個「非常好」的做法。遠遠超過(當前)其他兩個答案(包括我自己的答案)。 – 2009-06-03 12:00:04