Coalesce ternyata bisa dipakai untuk pivot table.
Untuk menampilkan sebuah field yang terdiri dari banyak row dan menjadi 1 row ternyata bisa memakai coalesce.
Hal ini sebagai cara lain dari langkah untuk menampilkan multiple row kedalam single row seperti tulisan sebelumnya.
contoh script:
jika ada data, misal tabel mkaryawan (ID, Nama)
ID NAMA
1 A
2 B
3 C
maka biar bisa tampil menjadi A, B, C
bikin script dibawah, dan bisa dijadiin function
declare @nama varchar(2000)
set @nama =''
select @nama =COALESCE(@nama,'') +nama+', '
from mkaryawan
if (len(@nama )>0)
set @nama =left(@nama , len(@nama )-1)
Kemudian coba lihat hasilnya
select @nama
Selain itu juga berfungsi untuk macthing row dari 1 atau lebih table data.
DECLARE @t1 TABLE (memberid INT,initialjob VARCHAR(50))
DECLARE @t2 TABLE (memberid INT,intermediatejob VARCHAR(50))
DECLARE @t3 TABLE (memberid INT,lastjob VARCHAR(50))
INSERT INTO @t1
SELECT 123,'GS' UNION
SELECT 124,'PDR'
INSERT INTO @t2
SELECT 123,'AAP' UNION
SELECT 125,'AV'
INSERT INTO @t3
SELECT 123,'TS' UNION
SELECT 126,'CS'
set statistics io on
set statistics time on
select coalesce(t1.memberid,t2.memberid,t3.memberid) 'memberid', initialjob, intermediatejob, lastjob
from @t1 t1
full outer join @t2 t2 on t1.memberid=t2.memberid
full outer join @t3 t3 on t3.memberid=t2.memberid
Lihat masternya disini
No comments:
Post a Comment