COALESCE Kullanılarak UserDefinedFunction Yardımı ile Bir Kitabın Yazarlarının Okunması
Kitaplar hakkında bilgi veren bir uygulamanız var ve bir kitabın yazarlarını da bu uygulamada görüntülemek istiyorsunuz.
Bir kitabın birden fazla yazarının olması durumunda bu bilgiyi kitap ile ilgili tabloda bir kolon içinde tutmanız olanaksız hale gelecektir.
Bunun için yapılacak çözümlerden birisi cross tablolar kullanarak yazar id bilgisini ile kitap id bilgisini bu tabloda birleştirmektir. Böylece bu tabloda birden fazla yazar id bilgisini bir kitap için farklı kayıtlar olarak girebilirsiniz.
Bu durumda kitap tablosundan bilgileri SELECT ederken yazarların listesini almak problem olabilir.
Bu sorunu da COALESCE fonksiyonunu kullanarak çözebiliriz.
İlk adım olarak COALESCE kullanarak AuthorsListOfBook adında bir UserDefinedFunction oluşturabiliriz.
Bu AuthorsListOfBook adındaki UserDefinedFunction bize kitap kaydı için birden fazla kayıtta bulunan yazar id'lerini kullanarak yazar isimlerini "," karakteri ile birleştirerek nvarchar(255) tipinde bir string değişkeni içinde geriye döndürür.
Bu fonksiyon kitap ile ilgili genel bilgiyi çektiğimiz query (sorgu) içinde aşağıdaki şekilde kullanılabilir.
COALESCE kullanımı ile ilgili daha detaylı bilgiyi aşağıdaki konuda bulabilirsiniz :
"COALESCE fonksiyonu ile bir tablonun bir kolonundaki değerleri bir string haline getirmek" başlıklı forumda bulabilirsiniz.