Veritabanı işlemleri yaparken bir kayda karşılık gelen birkaç farklı kaydı tek satırda göstermemiz gereken durumlar için kısa bir makale ile sizlerleyiz.
Elimizde şehirlerin ve ilçelerin olduğu iki tane tablo olduğunu düşünelim. Şehirler tablosunu inşaa edelim.
tblSehirler Tablosu
CREATE TABLE tblSehirler ( sehir_ID INT PRIMARY KEY NOT NULL IDENTITY(1,1) , sehir_adi VARCHAR(255) )
INSERT INTO tblSehirler (sehir_adi) VALUES ('Adana') INSERT INTO tblSehirler (sehir_adi) VALUES ('Adıyaman') INSERT INTO tblSehirler (sehir_adi) VALUES ('Afyon') INSERT INTO tblSehirler (sehir_adi) VALUES ('Ağrı') INSERT INTO tblSehirler (sehir_adi) VALUES ('Amasya') INSERT INTO tblSehirler (sehir_adi) VALUES ('Ankara')
Şimdi ise her şehire karşılık gelen tüm ilçeleri her şehirden tek kayıt gelecek şekilde yazalım.
STUFF Sorgusu
SELECT A.sehir_ID, A.sehir_adi AS Sehir, STUFF ( ( SELECT ', ' + ilce_adi FROM tblIlceler AS B WHERE A.sehir_ID = B.sehir_ID FOR XML PATH('') ), 1, 1, '' ) AS Ilceler FROM tblSehirler AS A
Elimizde şehirlerin ve ilçelerin olduğu iki tane tablo olduğunu düşünelim. Şehirler tablosunu inşaa edelim.
tblSehirler Tablosu
Oluşan şehirler tablosunun görselini paylaşalım.
Şehirler Tablosu
< Resime gitmek için tıklayın >
İlçeleri de oluşturalım.
tblIlceler Tablosu
Oluşan ilçeler tablosunun görselini paylaşalım.
İlçeler Tablosu
< Resime gitmek için tıklayın >
Şimdi ise her şehire karşılık gelen tüm ilçeleri her şehirden tek kayıt gelecek şekilde yazalım.
STUFF Sorgusu
Kodlarımızın sonucuna ait görseli paylaşalım.
Sonuç
< Resime gitmek için tıklayın >
Bol sorgulu günler.
Kaynak: https://www.ontedi.com/sql/sql-serverda-stuff-fonksiyonuyla-birden-fazla-kaydi-tek-satirda-gosterme-islemi
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.