crazysert Posted July 23, 2015 Share Posted July 23, 2015 maaş tablosu elemanlar | maaş | çektiği | ----------------------------------- a | 1500 | 0 | ------------------------------------ b | 800 | 0 | ------------------------------------ a | 0 | 150 | ------------------------------------ a | 0 | 150 | ------------------------------------ a | 0 | 150 | filtre yapıyorum a elemanın yaptığı işlemleri döküyorum ve bu elemanın maaş sütunundaki hareketleri toplamak istiyorum bunun için mysqlde hangi kodu kullanıyoruz yardımcı olur musunuz acaba ? Quote Link to comment Share on other sites More sharing options...
galetis Posted July 23, 2015 Share Posted July 23, 2015 Select *, SUM(maas) as MaasToplam From MaasTablosu Quote Link to comment Share on other sites More sharing options...
crazysert Posted July 23, 2015 Author Share Posted July 23, 2015 Hocam bu şekilde filtrelediğimiz elemanların maaşı nasıl çıkacak orasını anlamadım ? Quote Link to comment Share on other sites More sharing options...
galetis Posted July 23, 2015 Share Posted July 23, 2015 MaasToplam diye bir değişkene atacak Quote Link to comment Share on other sites More sharing options...
crazysert Posted July 23, 2015 Author Share Posted July 23, 2015 örnek verebilme şansınız var mıdır hocam mysqle yeni başladığım için zorluk çekiyorum. ayrıca yardımınız içinde çok teşekkür ediyorum. Quote Link to comment Share on other sites More sharing options...
galetis Posted July 23, 2015 Share Posted July 23, 2015 Kullandığınız kodları buraya ekleyebilirmisiniz? Quote Link to comment Share on other sites More sharing options...
crazysert Posted July 24, 2015 Author Share Posted July 24, 2015 https://drive.google.com/file/d/0B5rUbHanZnW5T0I4bXUtMjJGTkE/view?usp=sharing çalışma dosyasını paylaştım hocam biraz basit bir uygulama ama iş görür diye düşünüyorum :) page1 de kalan diye bir label var onun yanında boş bir label daha var maaştan kalan bakiyeyi oraya yazdırmak istiyorum hocam. saygılarımla Quote Link to comment Share on other sites More sharing options...
SecondLife Posted July 24, 2015 Share Posted July 24, 2015 a,b diye yazdıkların elemanların unic ID leri olması lazım ve union olarak sorgunu yap Quote Link to comment Share on other sites More sharing options...
crazysert Posted July 24, 2015 Author Share Posted July 24, 2015 second a,b diye yazdıkların elemanların unic ID leri olması lazım ve union olarak sorgunu yap peki buna küçük bir örnek verebilir misin malum yeni öğreniyorum örnek olursa daha iyi kavrayabilirim. Quote Link to comment Share on other sites More sharing options...
Xerkan Posted July 27, 2015 Share Posted July 27, 2015 Verdiğin örnek tablo dökümü pek bir şey ifade etmiyor mantıklı düşündüğümüzde bir maaş hesaplama sisteminde 2 tablo olması lazım birinci tabloda bir elemanın detayları olur , maaşı ve diğer bilgileri çünkü maaş her zaman değişen bir şey değil ve her elemanın farklı maaşları olabilir ikinci tabloda ise elemana ödenen avanslar veya tam maaş bilgisi olur mesela eleman-maaş-ödenen-tarih bu tabloya bir veri ekleneceği zaman elemanın maaşını eleman bilgisi tablosundan alıp öyle girersin bu şekilde elemanın hangi tarihte ne kadar maaş aldığı bilgiside istendiğinde kolayca elde edilebilir ve elemanın maaşı değiştiğinde sadece eleman bilgisi tablosundan güncellersin bir elemena belli bir tarih aralığında ne kadar para ödendiğini ve maaşını bu şekilde kolayca hesaplıyabilirsin örnek verecek olursak mesela bir ay içinde olan hesap akışını aşağıdaki gibi sorgulayabilirsin SELECT *,SUM(odenen) AS odenen_toplam FROM maas_tablosu WHERE eleman='eleman_adi' AND tarih BETWEEN tarih_baslangic AND tarih_bitis ORDER BY tarih DESC bu sorguyu çalıştırdığında dönen tabloda bir döngü çalıştırdığında sütun adlarına ek olarak sorguda belittiğimiz bir değişkende olacak oda odenen_toplam yani iki tarih arasında elemana ödenenlerin toplamı eğer hiç ödeme yapılmamışa herhangi bir row dönmez ama o değişken mutlaka döner ,oda 0 olur muhtemelen en son işlem olarakta , eleman bilgisi tablosundan alacağın elemanın maaşından odenen_toplam ı çıkarttığında geriye elemana ödenecek tutar kalır bu şekilde , elemanın iki tarih arasında aldığı paranın dökümü , ödenenlerin toplamı ,ve ödenecek tutarı elde edersin son olarak bir tavsiye , bütün veri tabanı tablolarında bir tane tekil sayı kolonu kullanmalısın , AUTOINCREMENT çünkü bir isme göre sorgu yapmak hem tehlikeli hemde sorgu süresini uzatır , bu yüzden bir tane sayısal kolon kullanmak çok iyi olur Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.