SQL server'da birden çok satırdaki metin tek bir metin dizesinde nasıl birleştirilir?
Üç satırlı, isimleri tutan bir veritabanı tablosu düşünün:
Peter
Paul
Mary
Bunu tek bir Peter, Paul, Mary
dizisine dönüştürmenin kolay bir yolu var mı?
1804
3
MySQL'de, birden fazla satırdaki değerleri birleştirmenize olanak tanıyan GROUP_CONCAT() adlı bir işlev vardır. Örnek:
Bunu SQL Server'da yapmanın bir yolu, tablo içeriğini XML olarak döndürmek (XML raw için), sonucu bir dizeye dönüştürmek ve ardından etiketleri ", " ile değiştirmek olabilir.
Veritabanı sağlayıcınıza bağlıdır. MySQL'de concat_ws vardır. MS SQL Server bunu istemci uygulamanızda yapmanızı bekler.
Güncelleme: Bunu harici bir prosedürde veya UDF'de, belki bir imleç kullanarak veya CLR kodunu çağırarak da yapabilirsiniz.