Jump to content

Mysqlde Bir Sorgu Hk Bilgi Istiyorum


crazysert
 Share

Recommended Posts

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 ?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...