Forum

Sql cümlesi il...
 
Bildirimler
Hepsini Temizle

Sql cümlesi ile yatay bilgiyi parçalayıp dikeye çevirme

ibrahimtopay
(@ibrahimtopay)
Üye

Merhaba;

Elimde 2 tane tablo var. Bunlardan ilki dikey olarak konfigürasyon tutuyor. Diğeri ise bu konfigürasyondaki bilgileri programdan yatay olarak ilgili sütuna yazıyor. Aşağıda örnekle açıkladım. Benim yapmak istediğim 2 tablo ile ilişkisel bir bağlantı kurup ikinci tabloda yatayda birleşmiş olan değeri birinci tablodaki sıraya göre sorgulamak ve sorgu sonucunu dikey sıralamak. Umarım anlatabildim 🙂

BİRİNCİ TABLO İKİNCİ TABLO
ROW KODU DEĞİŞKENİ UZUNLUĞU TİPİ ROW KODU SIRA DEĞİŞKEN DİZİLİMİ
1 A001 101 1 METİN 1 A001 1 X15
2 A001 102 2 SAYI 2 A001 2 Z18
3 A002 101 1 METİN 3 A001 3 X36
4 A002 102 2 SAYI 4 A002 1 X15720
5 A002 103 3 SAYI 5 A003 1 ABCDE
6 A003 104 5 METİN 6 A002 2 X15900
Alıntı
Konu başlatıcı Gönderildi : 05/06/2012 20:40

Gokhan DOGAN
(@GokhanDOGAN)
Üye

Slm

tam anlayamadım dikey yatay derken pivot table gibi mi nedir ?  

CevapAlıntı
Gönderildi : 06/06/2012 03:35

ibrahimtopay
(@ibrahimtopay)
Üye

Yani Sql cümlesinden dönecek sonuç aşağıdaki gibi olmalıdır.

KODU SIRA DEĞİŞKENİ DEĞERİ
A001 1 101 X
A001 1 102 15
A001 2 101 Z
A001 2 102 18
A001 3 101 X
A001 3 102 36
A002 1 101 X
A002 1 102 15
A002 1 103 720
A003 1 104 ABCDE
A002 2 101 X
A002 2 102 15
A002 2 103 900
CevapAlıntı
Konu başlatıcı Gönderildi : 06/06/2012 11:39

Kenan İLGÜN
(@kenanilgun)
Saygın Üye Forum Yöneticisi
SELECT
Genel.kod,
Genel.tip
FROM
(
(
SELECT
T1.kod,
T1.tip AS tip
FROM
tablo1 T1
)
UNION ALL
(
SELECT
T2.kod,
'' AS tip
FROM
tablo2 T2
)
) AS Genel
Gibi kodlama yaparak  işleminizi yapabilirsiniz. Datalarınızı biraz daha düzgün verseydiniz daha detaylı bir sql komutu çıkartıcaktım
CevapAlıntı
Gönderildi : 14/06/2012 16:39

Paylaş: