Query yang satu ini sebenernya rani ga paham-paham banget dan ga apal-apal banget juga. Tapi beberapa kali perlu untuk menampilkan beberapa baris menjadi 1 baris di kolom yang sama. Jadi buat catatan aja ^_^
Tabel contoh yang akan digunakan adalah table variable sebagai berikut:
DECLARE @Students TABLE (
[StudentID] char(5) NOT NULL,
[StudentName] nvarchar(15) NOT NULL
)
INSERT INTO @Students VALUES
('S0001', 'Rani'),
('S0001', 'Novi'),
('S0002', 'Via'),
('S0002', 'Ani'),
('S0003', 'Irsan')
SELECT * FROM @Students
Dan berikut ini contoh query untuk menyatukan beberapa baris ke dalam satu baris:
SELECT t.StudentID,
STUFF(ISNULL((SELECT ', ' + x.StudentName
FROM @Students x
WHERE x.StudentID = t.StudentID
GROUP BY x.StudentName
FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '')
AS [Tanpa Koma di Awal],
ISNULL((SELECT ', ' + x.StudentName
FROM @Students x
WHERE x.StudentID = t.StudentID
GROUP BY x.StudentName
FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), '')
AS [Dengan Koma di Awal Jika Ada Data]
FROM @Students t
GROUP BY t.StudentID
Semoga bisa bermanfaat juga buat readers..
Click here if you like this article.
0 Comments