Merhaba bu yazımda sizlere satırları sutun gibi gösterebilen, inanılmaz pratik Pivot Komutunu anlatacağım. MSSQL veritabanında ” pivot komutu ” kullanmanın mantığını anlamak için öncelikle düz listeleme yapan kodumuzu buraya ekliyorum.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
select * from (select 1 adet, 'mavi' renk union select 19 adet , 'yesil' renk union select 3 adet , 'beyaz' renk union select 15 adet , 'mavi' renk union select 10 adet , 'yesil' renk union select 4 adet , 'mavi' renk union select 7 adet , 'beyaz' renk union select 1 adet , 'yesil' renk ) src |
Eğer yukarıdaki listelemeyi pivot kullanımı olmadan yapmış olsaydık sonuç olarak alacağız çıktı resimdeki gibi olacaktı. Bu listede şunu yapmak aklımızda geldiğinde ne yapacaktık […]
MSSQL veritabanında temp (geçici) tablolar tempdb ismindeki veritabanında tutulur. Bu yüzden kullandığınız veritabanın information schema tablosunda görülemeyecektir.
1 2 |
select CATALOG_NAME into ##temp from [tempdb].[INFORMATION_SCHEMA].[SCHEMATA]; SELECT * FROM INFORMATION_SCHEMA.TABLES where table_name like '%##temp%' |
ilk satır ##temp tablonuzu açar , ikinci satırda ise tablonuzu kendi veritabanınızda aradığınız için bulamazsınız. Çözüm :
1 2 3 4 5 6 7 8 9 |
SELECT OBJECT_ID('tempdb..##temp') IF OBJECT_ID('tempdb..##temp') Is NOT NULL begin drop table ##temp end |
Yukarıdaki gibi object_Id fonksiyonu ile tempdb içinde arama yapmalısınız. Not : tempdb..##temp yazımında TEK NOKTA ile çalışmadığına dikkat ediniz. […]
Son yorumlar