Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » Veritabanları » Biraz SQL Bilgisi Lazım :)


Veritabanları MySQL , MSSQL, SQL, Access, Oracle

Yanıt
 
LinkBack Seçenekler
Old 01.01.2003   #1 (permalink)
 
stNonStop's Avatar
 
Üyelik Tarihi: 16.02.2002
Yer: İstanbul
Yaş: 29
Mesaj: 1,809
Görsel: 5
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
stNonStop şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.01.2003   #2 (permalink)
 
stNonStop's Avatar
 
Üyelik Tarihi: 16.02.2002
Yer: İstanbul
Yaş: 29
Mesaj: 1,809
Görsel: 5
SELECT
stokGrup
FROM stok

SQL sorgusunu

SELECT
CASE WHEN stokGrup =1 THEN 'Monitör' END AS `Stok Grubu`
FROM stok

Şeklinde yazınca oluyor muş
__________________
St. Nonstop

Elektronik ve Haberleşme Mühendisi
Aziz DURMAZ
stNonStop şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.01.2003   #3 (permalink)
 
stNonStop's Avatar
 
Üyelik Tarihi: 16.02.2002
Yer: İstanbul
Yaş: 29
Mesaj: 1,809
Görsel: 5
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
stNonStop şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.01.2003   #4 (permalink)
 
stNonStop's Avatar
 
Üyelik Tarihi: 16.02.2002
Yer: İstanbul
Yaş: 29
Mesaj: 1,809
Görsel: 5
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
stNonStop şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

lazim , bilgisi , sql



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online oyun photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.3 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 00:41.