SQL Query sorgusunda çoklu SUM ve MINUS fonksiyonu

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Koray Bey değil de "Haluk" demek istediniz herhalde.

Resme bir daha bakabilirsiniz...

.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Özür dilerim, afyonum daha patlamadı sanırım :)
Resme baktım teşekkür ederim ancak hem giriş hem de çıkışları görüyorum, aslında yalnızca elde kalan miktarları görmem gerekiyor. Şimdi Altın Üyelik başvurusu yapıyorum, onaylandığında Koray Bey'in dosyasına bir bakacağım.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben ListBox'da görüntülenen verileri sizin 1. mesajınızda yazdıklarınız üzerine listelemiştim. Zaten o ayrı bir sorgu, istemezseniz kullanmazsınız.

Dosyanın bu şeklini ekliyorum, incelersiniz.

.
 

Ekli dosyalar

Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Üyeliğim onaylandığında dosyaya bakacağım Haluk Bey, ilginize teşekkür ederim.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,419
Excel Vers. ve Dili
Office 2013
Eğer Access kullanıyorsanız FIFO için size göre bir örnek var aslında.. Tabii Access hakkında bilginiz yoksa size karmaşık gelebilir ama sonradan yaşayacağınız karmaşalardan daha iyi bir çözüm de olabilir. Eğer isterseniz dosyayı da eklerim. Örnek görüntü alttadır. Sağdaki açılan kutudan tüm ürünleri de görebilirsiniz.

Not: Örnek bana ait değildir.

Adsız.png
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Access tecrübem hiç yok diyebilirim. Kaldı ki, dosyaları kullanacak olan kişilerin içinde ben yokum, arkadaşların bu tür konularda ne kadar bilgili olduklarını tahmin edersiniz sanıyorum.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Yüklenmiş olan her iki dosyaya da göz atma fırsatı buldum. Fırsat bulabilirsem kullanmış olduğumuz dosyayı yükleyeceğim ki daha doğru bir yönlendirme yapmış olabileyim. Aksi halde çok karışacak gibi duruyor.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Şu an kullanmakta olduğum dosya ekteki gibidir. Userform üzerinden malzeme hareket türü, malzeme kodu seçilerek arka planda döngüler çalışıyor. Bu döngülerin getirdiği sonuçlara göre kareket kaydını oluşturan kişi seçimleri yaparak giriş çıkış işlemini gerçekleştiriyor. Hareket kayıtları aynı dosya üzerinde olduğu için iki kişi aynı anda dosya üzerinde çalışamıyor. Ayrıca for-next döngüleri çok fazla zaman alıyor (kayıt sayısı arttıkça işlem süresi uzuyor). Bunun yanında bir kaç küçük sorun daha var ki onları kendi başıma çözebileceğime inanıyorum. Dosya bu şekilde yaklaşık 4-5 yıldır çalışıyor (her sene ya da belli periyodlarda sıfırlayıp tekrar başlıyoruz). Son sıfırlama işlemi Ekim başında yapılmış görünüyor.

Önerilere açık olduğumu belirtmek isterim. Aynı zamanda, başlığını açmış olduğum sql sorgusu bende saplantı haline geldiği için o şekilde çözmeyi yeğlerim. İlgilenen arkadaşlara tekrar teşekkür ediyorum.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,451
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
#13 nolu mesajımdaki koda bir-iki küçük ilave yaptım.

Kullanmak isterseniz güncel halini indirip kullanabilirsiniz.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Koray Bey dosyanızı inceledim, bu kadar sağlıksız veri olmasına rağmen doğru çalışıyor gibi görünüyor. Malzeme adı yerine malzeme kodu ile seçim yapabilsek daha verimli olacak çünkü malzemeleri kod numaraları ile takip ediyoruz. Değişken olarak malzeme kodu kullanmamanızın nedeni veri kirliliği ise sorun değil, o kısmı çözebilirim.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,419
Excel Vers. ve Dili
Office 2013
Sorgu da saplantı oldu yazdınız diye sorguyu ekliyorum ;) Altına da sonuç resmini..

SQL:
SELECT bb.[Malzeme Kodu], bb.[Malzeme Adı],
(select sum(Miktar) From Moves where [Malzeme Kodu] = bb.[Malzeme Kodu] and [G = Giriş_Ç = Çıkış] = "G") AS Top_Giren_Miktar,
(select sum(Miktar) From Moves where [Malzeme Kodu] = bb.[Malzeme Kodu] and [G = Giriş_Ç = Çıkış] = "Ç") AS Top_Çıkan_Miktar,
Top_Giren_Miktar - iif(isnull(Top_Çıkan_Miktar),0,Top_Çıkan_Miktar) as Kalan
FROM Moves AS bb
GROUP BY bb.[Malzeme Kodu], bb.[Malzeme Adı]
ORDER BY bb.[Malzeme Kodu];
Adsız.png
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Koray Bey teşekkür ederim, gayet güzel çalşıyor. Danışmak istediğim bir konu daha var. Mevcut dosyamızda ID numaraları üzerinden bu takibi gerçekleştiriyordum, artık böyle bir kayıt numarasına ihtiyacım olmayacak sanıyorum. Ancak bunun da bir sakıncası var. Aynı lot ile iki farklı tarihte 100 + 100 Kg malzeme geldiğini kabul edersek, 150 Kg malzeme çıkışı yapmaya kalktığımda hangisini sıfırlayacak? Neyse bu şekilde çok çetrefilli olacak, en iyisi toplamlar üzerinden gitmek gibi görünüyor.
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
Sayın beab05, çok naziksiniz teşekkür ederim. Eve gidince deneyeceğim bu kodları da :)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@seismic ; ekte başka bir dosya daha verdim.

Bu dosyada; daha öncekine ilave olarak, yukarıda 32 No'lu mesajda @beab05 'in yaptığı gibi tüm malzemelerin fiili en son stok durumlarını ListBox nesnesinde gösterdim.

Ancak; aşağıdaki resimde görüldüğü gibi @beab05 ile benimki arasında sorgulama sonucunda geri dönen veriler arasında biraz fark var. Örneğin; Malzeme Kod No: 3112001 için bende fiili stok miktarı "0" çıkıyor, @beab05 'in eklediği resme göre onda "10500". Altındaki diğer malzemelerde de benzer bir durum var ..... Gerçi, ben yaptığım kontrolde benimkinin doğru olduğunu düşünüyorum ama belki benim atladığım bir şey olabilir ya da onunkinde ufak bir sıkıntı olabilir, bilemiyorum...

Zaten konuya siz hakim olduğunuz için olayı daha iyi yorumlarsanız, ben üzerinde fazla kafa yormadım, daha çok verilerin alınacağı SQL sorgusuyla ilgilendim. Önemli olan Excel ortamında ADO/SQL kullanımı olduğu için, siz @Zeki Gürsoy Beyin daha önce bahsettiği gibi verilerinizi düzelttikten sonra üzerinde çalışıp, daha değişik sorgularla istediğiniz bilgileri alabilirsiniz diye düşünüyorum.

Dosya ektedir ....

**********************************************************
(Not: Konuyu uzatmamak için dosya kaldırılmıştır... Bkz. 38 No'lu mesaj.)


Untitled.png
.
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,367
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bu başlığın en çok 4-5 mesajda çözülmesi gerekirdi... Elde edilmek istenen listenin bir kısmının elle yapılarak tasvir edilmemesi, veri kaynağındaki karışıklıklar...

Kolay gelsin; ne diyeyim...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,451
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İstenen net olmadığı için konu uzayıp gidiyor.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Esasında konuyu uzatan ben oldum galiba .... kusura bakmayın !

**** Benim bu başlıktaki son mesajımdır *****

.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,419
Excel Vers. ve Dili
Office 2013
@Haluk; ben bu konudaki 28. mesajdaki dosyada bulunan verilere göre çıkarmıştım ve sonuç doğru gibi.. Belki farklı dosyalardan veri almışızdır.

Ben excel konusunda zaten çok zayıfım.. Sql olarak istediği için ve ben de sql i sevdiğim için katıldım. Ama konuyu açan arkadaşın dediği gibi daha işin içine fifo, filo falan da girerse excel in son kullanıcı için uygun olacağını da düşünmüyorum.

Konuyu birazcık ben de uzattım sanki ;)
 
Katılım
10 Ekim 2004
Mesajlar
223
Excel Vers. ve Dili
Office 2013 Tr
Altın Üyelik Bitiş Tarihi
11-11-2024
İlgilenen herkese çok teşekkür ediyorum. Koray Bey'in bulmuş olduğu çözüm şu an için en uygun olanı gibi görünüyor. Yanlış yönlendirme, eksik ve hatalı bilgiler nedeniyle uğraştırdığım için kusura bakmayın lütfen. Bitirebilirsem dosyalarımı burada yine paylaşır, değerli fikirlerinizi ve önerilerinizi almak isterim.
 
Üst