SQL Server’da Birden Fazla Satırı Birleştirmek
Herkese merhaba,
Bu yazıda SQL Server’da birden fazla satırı birleştirmek hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda birden fazla satırı birleştirme ihtiyacınız olabilir.
Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz. İşlemleri ve ne yapıldığını kod üzerinden anlatacağım.
--Tablo Oluşturulması
CREATE TABLE DerslerveNotlar
(
ID INT PRIMARY KEY IDENTITY(1, 1),
DersAdi NVARCHAR(100),
BirinciDersNot INT,
IkinciDersNotu INT
);
--Veri girilmesi
INSERT INTO dbo.DerslerveNotlar
(
DersAdi,
BirinciDersNot,
IkinciDersNotu
)
VALUES
(N'İngilizce', 10, 20),
(N'Almanca', 20, 30),
(N'Fizik', 10, 10),
(N'Kimya', 20, 20),
(N'Biyoloji', 10, 10),
(N'Matematik', 5, 25);
--Birden fazla satırın birleştirilmesi işlemi
SELECT CASE
WHEN DersAdi IN ( 'Fizik', 'Kimya', 'Biyoloji' ) THEN
'Fen Bilimleri'
ELSE
DersAdi
END AS DersAdi,
SUM(BirinciDersNot) AS Not1,
SUM(IkinciDersNotu) AS Not2,
SUM(BirinciDersNot + IkinciDersNotu) AS Toplam
FROM DerslerveNotlar
GROUP BY CASE
WHEN DersAdi IN ( 'Fizik', 'Kimya', 'Biyoloji' ) THEN
'Fen Bilimleri'
ELSE
DersAdi
END;
Burada neler yaptık şimdi açıklayalım.
Görüldüğü üzere oluşturmuş olduğumuz tabloda ders adları ve notlar bulunmakta. Bizim yapmak istediğimiz ise Fizik, Kimya, Biyoloji gibi dersleri Fen Bilimleri altında toplayacak bir sorgu oluşturmak.
Eğer bu şekilde bir gruplama yapıp dersler ve o derslere ait notlarında toplanmasını istiyorsanız bu sorgu işinizi görecektir. Sorgu örneğinin notlar ve dersler olması sizi yanıltmasın burada ürünler ve o ürünlerin miktarları da olabilirdi. Yani siz belli ürünlerin bir grup altında toplanmasını ve toplamının sayılmasını da sağlayabilirsiniz.
Sorguyu çalıştırdığınızda ise aşağıdaki gibi bir sonuç alacaksınız.
Görüldüğü üzere Fizik, Kimya ve Biyoloji satırları tek bir satır oldu ve bu satırlara ait notlar da tek satır olarak toplandı.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.