Arkadaşlar Merhaba,
Umarım derdimi anlatabilirim.
TBL_BEDEN_SETI
ID MODEL_ID BEDEN
1 1 S
2 1 M
3 1 L
4 2 38
5 2 40
6 3 4-6 Yaş
TBL_MODEL
ID MODEL_ADI
1 T-SHIRT
2 SWEAT
3 PANTOLON
Şeklinde iki tablo düşünün!
TBL_MODEL_HRK tablosu gibi birşey olacak, bunun içinde ürün geldikçe veya gittikçe beden adetleri yazılacak ama bedenler farklı olduğundan fieldların mı sürekli değişmesi gerekecek nasıl olacak o kısmın mantığını kafamda kuramadım...
Değişken Tablo Sütunları
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Değişken Tablo Sütunları
Merhaba,
Özetle sizin TBL_MODEL_HRK tablosuna TBL_BEDEN_SETI tablosu içindeki ID bilgisini kaydetmeniz gerekiyor. Bu bilgi ile hangi model, model adı ve hangi beden olduğunu bulabilirsiniz.
Özetle sizin TBL_MODEL_HRK tablosuna TBL_BEDEN_SETI tablosu içindeki ID bilgisini kaydetmeniz gerekiyor. Bu bilgi ile hangi model, model adı ve hangi beden olduğunu bulabilirsiniz.
Re: Değişken Tablo Sütunları
Cevap için teşekkürler ama sanırım anlatamadım,
ben TBL_MODEL_HRK tablosuna; hangi modelden, ve hangi modelin hangi bedeninden geldiğini girebilmek istiyorum. ama beden setleri farklı çözemediğim burası işte...
Örnek tablodan yola çıkarsak, T-SHIRT'ün bede seti S, M, L ama SWEAT'in beden seti 38,40 bu durumda TBL_MODEL_HRK nasıl oluşturulacak.
ben TBL_MODEL_HRK tablosuna; hangi modelden, ve hangi modelin hangi bedeninden geldiğini girebilmek istiyorum. ama beden setleri farklı çözemediğim burası işte...
Örnek tablodan yola çıkarsak, T-SHIRT'ün bede seti S, M, L ama SWEAT'in beden seti 38,40 bu durumda TBL_MODEL_HRK nasıl oluşturulacak.
Re: Değişken Tablo Sütunları
TBL_MODEL_HRK tablosunda TBL_BEDEN_SETI tablosundaki ID bilgisini BEDEN_ID kolonuna kaydettiğinizi ve kayıtların aşağıdaki gibi olduğunu varsayalım:
Siz hangi model ve beden bilgisi için aşağıdaki gibi bir SQL kullanabilirsiniz
NOT: SQL komutunu test etmeden ezberden yazdım.
Kod: Tümünü seç
AUTOINC BEDEN_ID
1 4
2 2
3 5
4 1
Kod: Tümünü seç
SELECT TBL_BEDEN_SETI.MODEL_ID, TBL_BEDEN_SETI.BEDEN, TBL_MODEL_HRK.*
FROM TBL_MODEL_HRK
LEFT JOIN TBL_BEDEN_SETI ON TBL_BEDEN_SETI.ID = TBL_MODEL_HRK.BEDEN_ID
Re: Değişken Tablo Sütunları
kendimi ifade edemiyor olmamın sıkıntısını yaşıyorum.
şöyle ki;
MODEL_ADI "T-SHIRT" ise TBL_MODEL_HRK tablosu
şeklinde olsun, ancak MODEL_ADI "SWEAT" ise TBL_MODEL_HRK tablosu
şeklinde olsun. buradaki kurguyu yapamadım.
bir nevi ürünün varyantlarına göre şekillensin tablo ve varyantlarda yine kullanıcı tarafından girilebilecek.
şöyle ki;
MODEL_ADI "T-SHIRT" ise TBL_MODEL_HRK tablosu
Kod: Tümünü seç
ID MODEL_ID S M L
Kod: Tümünü seç
ID MODEL_ID 38 40
bir nevi ürünün varyantlarına göre şekillensin tablo ve varyantlarda yine kullanıcı tarafından girilebilecek.
Re: Değişken Tablo Sütunları
Sınırsız beden desteği vererek hareket tablosunda bu detayı kaydedemezsiniz. Tek satıra tek beden bilgisi kaydedilebilir. Ancak kod yazarak ekranda istediğiniz bilgiyi göstermeniz mümkün. Bir MemoryTable içine topladığınız bilgileri doldurarak kullanıcıya gösterebilirsiniz. Bu durumda da MemoryTable kolon sayısı çok yüksek tutularak kullanılabilir veya çalışma zamanında dinamik olarak ayarlanması gerekecektir.
Diğer taraftan, maksimum farklı beden bilgisini sınırlayarak ve hareket tablosunda maksimum beden sayısı kadar kolon tanımlayarak tek SQL komutu ile istediğinizi yapmanız mümkün olabilir. Tabi bu durumda TBL_BEDEN_SETI tablosuna ekstradan beden indeks bilgisini de kaydetmeniz gerekecektir. Kullanacağınız bedenlerin şöyle olduğunu varsayalım:
34 36 38 40 42 44 46 48 50 52
Bunların harf karşılıkları da aşağıdaki gibi olabilir (aşağıdaki örnekte bu harf karşılıkları kullanılmıştır)
XXS XS S M L XL XXL XXXL 4XL 5XL
veya
3XS XXS S M L XL XXL XXXL 4XL
şeklinde olabilir. Siz bu şekilde uygulamanızda maksimum 10 farklı beden tanımı desteklemiş oldunuz.
Bedenlerin ne olduğu kullanıcı tarafından ayarlanacak. Hareket tablosunda her bir satır için artık hangi beden olduğunu kaydedebilirsiniz. Kullanılan beden için ilgili indeks kolonuna rakamla 1 kaydetmeniz mümkün olabilir.
Aynı şekilde eğer isterseniz kullanılan beden bilgisini değil ilgili beden BEDEN bilgisini (metin açıklaması) hareket tablosunun ilgili kolonuna kaydedebilirsiniz.
Beden bazında satış miktarlarını aşağıdaki gibi bir SQL ile elde etmeniz mümkün olabilir.
Direk BEDEN bilgisini kaydediyor olduğunuz halde ilk etapta elde etmek istediğiniz formatta bilgiyi ise aşağıdaki gibi bir SQL ile elde etmeniz mümkün olabilir.
Gelen veri içindeki EKRANDA_GOSTERILMEYECEK kolonu gruplama yapılabilmek için eklendiğinden kullanıcıya bu bilgiyi göstermenize gerek yok.
NOT: Tüm SQL bilgileri ezberden yazıldı. Kontrol edilerek kullanılması gerekir.
Diğer taraftan, maksimum farklı beden bilgisini sınırlayarak ve hareket tablosunda maksimum beden sayısı kadar kolon tanımlayarak tek SQL komutu ile istediğinizi yapmanız mümkün olabilir. Tabi bu durumda TBL_BEDEN_SETI tablosuna ekstradan beden indeks bilgisini de kaydetmeniz gerekecektir. Kullanacağınız bedenlerin şöyle olduğunu varsayalım:
34 36 38 40 42 44 46 48 50 52
Bunların harf karşılıkları da aşağıdaki gibi olabilir (aşağıdaki örnekte bu harf karşılıkları kullanılmıştır)
XXS XS S M L XL XXL XXXL 4XL 5XL
veya
3XS XXS S M L XL XXL XXXL 4XL
şeklinde olabilir. Siz bu şekilde uygulamanızda maksimum 10 farklı beden tanımı desteklemiş oldunuz.
Bedenlerin ne olduğu kullanıcı tarafından ayarlanacak. Hareket tablosunda her bir satır için artık hangi beden olduğunu kaydedebilirsiniz. Kullanılan beden için ilgili indeks kolonuna rakamla 1 kaydetmeniz mümkün olabilir.
Kod: Tümünü seç
AUTOINC MODEL_ID BEDEN_ID B01 B02 B03 B04 B05 B06 B07 B08 B09 B10
1 2 4 1
2 1 2 1
3 2 5 1
4 1 1 1
Beden bazında satış miktarlarını aşağıdaki gibi bir SQL ile elde etmeniz mümkün olabilir.
Kod: Tümünü seç
SELECT
MODEL_ID, MODEL_ADI, COUNT(B01), COUNT(B02), COUNT(B03), COUNT(B04), COUNT(B05), COUNT(B06), COUNT(B07), COUNT(B08), COUNT(B09), COUNT(B10)
FROM
TBL_MODEL_HRK
LEFT JOIN TBL_MODEL on TBL_MODEL.ID = TBL_MODEL_HRK.MODEL_ID
GROUP BY
MODEL_ID, MODEL_ADI
Kod: Tümünü seç
SELECT
MODEL_ID, MODEL_ADI, B01, B02, B03, B04, B05, B06, B07, B08, B09, B10, COUNT(*) AS EKRANDA_GOSTERILMEYECEK
FROM
TBL_MODEL_HRK
LEFT JOIN TBL_MODEL on TBL_MODEL.ID = TBL_MODEL_HRK.MODEL_ID
GROUP BY
MODEL_ID, MODEL_ADI, B01, B02, B03, B04, B05, B06, B07, B08, B09, B10
NOT: Tüm SQL bilgileri ezberden yazıldı. Kontrol edilerek kullanılması gerekir.