Forum
Merhabalar ÇözümPark ve Ekibi,
Sizlerden Bir Konu Hakkında Bilgi Almak İstiyorum,
Select * From TS_US_UyeBilgileri as [TSUS_UB] Inner Join TS_US_UyeTelefonBilgileri as [TSUS_UTB] ON [TSUS_UTB].UyeBilgileriGlobalDeger = [TSUS_UB].UyeBilgileriGlobalDeger Where [TSUS_UB].KayitDurumu = 1 and [TSUS_UB].OdaSicilNumarasi IS NOT NULL and [TSUS_UB].UyeSiciliDurumu = 4
UyeBilgileri Tablosunda İlgili Koşul İle 392 Kayıt Bulunmaktadır,
Telefon Bilgileri Tablosunda İlgili Üye Ait Birden Çok Telefon Numarası Bulunmaktadır,
Burada SubQuery Kullanmadan Performans Değerlerini Etkilemeyecek Şekilde Üye Satırının Sonunda Bir Kolona Üyenin Telefon Bilgilerini Tek Satırda Virgül İle Ayırtarak Sonuç Alabilirmiyim ?
Yoksa Bu İşlemi SubQuery Kullanarak Yapmak mı Avantajlı Olucaktır ?
Bu Konuda Fikirlerinizi İletebilirmisiniz ?
Aşağıdaki makale yönlendirici olacaktır. İyi çalışmalar.
https://sqlskull.com/2022/08/06/how-to-get-multiple-row-data-in-single-row-in-sql/
Bu konu benim de sıkça karşıma çıkıyor ve çözemiyorum , serkan ateş beyin verdiği linkte de subquery ile çözülmüş yanlış anlamadıysam.
İbrahim bey subquery kullanmak istememiş, hız açısından doğru bir düşünce ama başka bir yolu varsa bende öğrenmek isterim.
Merhaba Halil İbrahim.
Böyle yapabilirsin.
Select
TSUS_UB.OdaSicilNumarasi,TSUS_UB.UYEADI,STRING_AGG(TS_US_UyeTelefonBilgileri.TELEFON, ', ')
From TS_US_UyeBilgileri as [TSUS_UB]
Inner Join TS_US_UyeTelefonBilgileri as [TSUS_UTB] ON [TSUS_UTB].UyeBilgileriGlobalDeger = [TSUS_UB].UyeBilgileriGlobalDeger
Where [TSUS_UB].KayitDurumu = 1 and [TSUS_UB].OdaSicilNumarasi IS NOT NULL and [TSUS_UB].UyeSiciliDurumu = 4
GROUP BY TSUS_UB.OdaSicilNumarasi,TSUS_UB.UYEADI