|
|
#1 (permalink) |
|
Biraz SQL Bilgisi Lazım :)
Soru : SQL sorgusu ile MySQL den çektiğimiz bilgileri nasıl değiştirebiliriz... Örn: SELECT stokGrup FROM stok dediğmiz zaman bize stokGrup değerleri numaratik olarak geliyor ben bunu daha sorgu içindeyken işte stokGrup= 1 ise stokGruo="Monitör", stokGrup=2 ise stokGrup="Cpu" şeklinde nasıl yazabilirim... (Case yardımıyla yapılabiliyormuş fakat sytanx nı bulamadım)
__________________
St. Nonstop Elektronik ve Haberleşme Mühendisi Aziz DURMAZ |
|
|
|
|
|
|
#3 (permalink) |
|
Soru 2 : Sum fonksiyonunu kullanacağız fakat tablodaki değeri 0 veya 1 olan bir sutunumuz var bu değerlere göre bunların toplanacağı iki farklı sutun olması lazım... Eğer referans sutunumuz 0 size b sutununda bulunan sayısal değerler x adı altında toplanacak, referans sutunumuzdaki değer 1 ise b sutununda bulunan değerler y adı altında toplanacak. Biraz karışık oldu ama sum fonksiyonunu sıklıkla kullanan bir arkadaş varsa yardımı çok iyi olur ...
__________________
St. Nonstop Elektronik ve Haberleşme Mühendisi Aziz DURMAZ |
|
|
|
|
|
|
#4 (permalink) |
|
Yine Kendi mesajımı cevaplayacam ama olsun en azından bulduklarımızla arkadaşlarımıza birazcıcık faydamız dokunur diye düşünüyorum....
Sorumuz neydi??? Sum fonksiyonunu kullanacağız fakat tablodaki değeri 0 veya 1 olan bir sutunumuz var bu değerlere göre bunların toplanacağı iki farklı sutun olması lazım... Eğer referans sutunumuz 0 size b sutununda bulunan sayısal değerler x adı altında toplanacak, referans sutunumuzdaki değer 1 ise b sutununda bulunan değerler y adı altında toplanacak Şeklinde bir sorumuz varmış... Çözüm bana ait değil MySQL mail listinden gelen bir çözüm Bill Table ----------- CREATE TABLE `bill` ( `ID` int(11) NOT NULL auto_increment, `direction` tinyint(4) NOT NULL default '0', `BillNo` varchar(16) NOT NULL default '', `BillDate` date default '0000-00-00', `Customer` int(11) default '0', `Total` float(10,2) default '0.00' PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`), UNIQUE KEY `BillNo` (`BillNo`), KEY `BillDate` (`BillDate`), KEY `Customer` (`Customer`) ) TYPE=MyISAM; Customer Table --------------- CREATE TABLE `customer` ( `ID` int(10) unsigned NOT NULL auto_increment, `Code` varchar(32) NOT NULL default '0', `Name` varchar(80) default NULL, PRIMARY KEY (`ID`), UNIQUE KEY `Code` (`Code`), KEY `Name` (`Name`) ) TYPE=MyISAM; Bu şekilde iki tane tablomuz olsun. Bunları join yaparak birleştireceğiz. Birleştirdikten sonrada bill tablosundaki direction (referans sutunumuzdur) sutunun değerine göre ya loan adı aldında yada credit adı altında toplayacağız. Bazı kimselerin iki kısmıda dolu olabilir. Çünkü bu kimselere hem ödeme yapılmış hemde ödeme alınmış olabilir. Bizim amacımız müşterilerimize ne kadar ödeme yapmışız vede müşterilerimizden ne kadar ödeme almışız onları bulmamız gerekmektedir. Bunu tek sorgu ile hesaplaya bilmemiz için şu şekilde bir sorgu yapmamız gerekmektedir. Sorgu -------------------- SELECT cus.`Code` AS `Customer Code`, cus.`Name` AS `Customer`,SUM((1-bil.direction)*bil.Total) AS Loan, SUM(bil.direction*bil.Total) AS Credit FROM customer AS cus, bill AS bil WHERE bil.`Customer` = cus.`ID` GROUP BY bil.`Customer` ORDER BY cus.`Name` bu sorgu sonucunda referans sutunumuzda belirttiğimiz yapmış ve almış olduğumuz ödemelerimizi tek sorguda görebilmekteyiz..
__________________
St. Nonstop Elektronik ve Haberleşme Mühendisi Aziz DURMAZ |
|
|
|
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
Zoque'a hoşgeldiniz!