Forum

Pivot Tablosu nasl ...
 
Bildirimler
Hepsini Temizle

Pivot Tablosu nasl oluşturabilirim ?

2 Yazılar
1 Üyeler
0 Reactions
928 Görüntüleme
(@AliNamli)
Gönderiler: 3
Active Member
Konu başlatıcı
 

Merhaba! 

Yaklaşık 10 saattir pivot tablo oluşturmayı araştırıyorum ama bir çözüm bulamadım.Yardımcı olabilirseniz sevinirim.

oluşturmuş olduğum 4 adet tablo var. Projede birden fazla ürün ve ürün grubu var. Ürünleri oluşturmadan önce gruplar oluşturulup ürün kaydı yaparken mesela 'işlemci' ürünü kaydedilirken sorması geren özellikleri (Pin sayısı, Bit sayısı vs) grupları oluştururken farklı bir tabloya kaydettim.  Ürün kaydı yapılırken bu özellikler için benden değer istemesini sapladım ve değerler için yeni bir tablo oluşturdum. Sistem şuan güzel çalışmakta. Ancak bir ürünü aynı gruptaki diğer ürünlerle karşılaştırıp aynı özellikte olan ürünleri listelemem lazım. Şuan 4 adet sorguyla bunu yapabiliyorum ancak çok yavaş çalışmakta. Bende biraz araştırma yaptım Pivot işimi çözecek gibi duruyor. 

Urun Tablosu

UrunId , UrunKodu, GrupId

 

Ürün Grupları Tablosu

 GrupId, GrupAdı

 

Grup Özellikleri Tablosu

GrupOzellikId, GrupOzellik, GrupId

 

Değerler Tablosu 

 DegerId , Deger, GrupOzellikId, UrunId

 

Oluşturmak istediğim Sorgu şekli ise

 

Ürün Kodu Grup Özellik 1 Grup Özellik 2  Grup Özellik 3  Grup Özellik 4

xxxxx değer 1 deger2 deger3 deger4

yyyyy deger 12 deger 13 deger14 deger15

 

Şeklinde nasıl yapabilirim ?

 
Gönderildi : 29/09/2014 21:00

(@AliNamli)
Gönderiler: 3
Active Member
Konu başlatıcı
 

Yavuz Bey dediğiniz gibi yaptım. Seçilen ürünü özelliklerini bir diziye attım. Daha sonra aynı gruptaki diğer ürünlerin özellikleriyle karşılaştırıp doğru sonuca ulaştım. Fakat 2 adet for döngüsü ve 3 adet sorgu kullandım. Bu da fonksiyonun 1,2 sn gibi bir sürede çalışmasına neden oluyor. Program internet üzerinde bir veri tabanına bağlanacağından bu süre çok daha fazla olucak. O yüzden mümkün olduğunca az sorgu kullanmam gerektiği için böyle bir çözüm düşündüm.

 
Gönderildi : 30/09/2014 12:46

Paylaş: