Üç 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ı?
MySQL'de, birden fazla satırdaki değerleri birleştirmenize olanak tanıyan GROUP_CONCAT() adlı bir işlev vardır. Örnek:
SELECT 1 AS a, GROUP_CONCAT(name ORDER BY name ASC SEPARATOR ', ') AS people
FROM users
WHERE id IN (1,2,3)
GROUP BY a
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.