У меня есть данные
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