Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Veritabanları & SQL

Cevapla
 
LinkBack Seçenekler
Eski 30/12/2007, 13:58   #1 (permalink)
Üye
 
absot Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2006
Mesaj: 22
Varsayılan İki tablo arasında bağlantı kurarak gruplama yapma

iyi günler

arkadaşlar iki tane tablom var benim biri "musteri" diğerdi "satis" tablo alanları ise şunlar.

musteri -> musteri_id,musteri_adsoyad

satis -> satis_id,musteri_id,tutar,tarih

satis tablosunda tahmin edeceğiniz gibi müşterinin almış olduğu malzemerin saklandığı tablo ben öle bir sql cümlesi yazmam gerekiyoki müşteri listesi listelenirken hemen yanında toplam aldığı malzemenin tutarıda yazmasıni istiyorum.

select * from musteri inner join satis on musteri.musteri_id = satis.musteri_id

bu sql'i yazdığımda her müşterinin karşısına ayrı satırlada aldığı malzemenin tutarı yazıyo şöle yani

müşteri adi soyadı tutar
Seçgin ŞANLI 20,00 YTL
Ahmet ŞAHİN 12,50 YTL
Seçgin ŞANLI 30,00 YTL
Seçgin ŞANLI 40,00 YTL
Ahmet ŞAHİN 5,50 YTL

ben bu listenin bana şöle çıkmasını istiyorum
müşteri adi soyadı tutar
Seçgin ŞANLI 90,00 YTL
Ahmet ŞAHİN 18,00 YTL

gruplama yapmamız mı gerekiyo ne yapacaz bilmiyorum
absot hatta değil   Alıntı Yaparak Yanıtla
Eski 30/12/2007, 15:00   #2 (permalink)
x-coder
 
deathisonitsway Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 11/2007
Yer: balıkesir
Mesaj: 2,669
Varsayılan

satıs tablosunda musteri tablosunda bulunan kişinin musteri_id ini saydırıp donguye aktararak toplama yapabilirsin....işin esprisi satıslar tablosunda musteri_id e sahip musterinin kac adet muster_id e sahip oldugu anlatabildim mi...

daha sonra bunları saydıktan sonra toplamak ya sum komutuyla yaparsın...eger ki onu bilmiyorsan su kodu kullan

PHP Kodu:

$referans
=0;
while (
$rows=mysql_fetch_assoc($sorgu) ) {

$referans=$referans+$rows[tutar];
}

echo 
$referans
deathisonitsway hatta değil   Alıntı Yaparak Yanıtla
Eski 30/12/2007, 15:16   #3 (permalink)
Üye
 
absot Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2006
Mesaj: 22
Varsayılan

sağolasın "sum" komutu biliyorum

bu arara kullandığım veri tabanı access

yukarda ben kod yazarak değilde sql cümlesi ile almak istediğimi belirtmiştir. yani sql cümlesini yazıp çalıştırdığım zaman direk vermesi lazım.
absot hatta değil   Alıntı Yaparak Yanıtla
Eski 30/12/2007, 15:23   #4 (permalink)
Üye
 
Üyelik Tarihi: 01/2007
Mesaj: 237
Varsayılan

GROUP BY deyimini kullanabilirsin, müsteri id sine göre gruplayıp sum ile alanları toplatırsan hallolur diye düşünüyorum.

şurası işine yarar: http://www.w3schools.com/sql/sql_groupby.asp
yasaluyari hatta değil   Alıntı Yaparak Yanıtla
Eski 30/12/2007, 16:10   #5 (permalink)
Üye
 
absot Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2006
Mesaj: 22
Varsayılan

arkadaşlar yapmak istediğim sql cümlesi aşağıdaki gibi her keze teşekküreler. iyi çalışmalar.

Alıntı:
SELECT musteri.musteri_id, sum(satis.satis_tutar) AS toplam
FROM musteri INNER JOIN satis ON musteri.musteri_id=satis.musteri_id
GROUP BY musteri.musteri_id;
absot hatta değil   Alıntı Yaparak Yanıtla
Eski 30/12/2007, 16:28   #6 (permalink)
x-coder
 
deathisonitsway Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 11/2007
Yer: balıkesir
Mesaj: 2,669
Varsayılan

iyi calısmalar o halde....
deathisonitsway hatta değil   Alıntı Yaparak Yanıtla
Eski 30/12/2007, 23:38   #7 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Bu arada bir not düşeyim; yukarıdaki sorgu sadece bir şey almış müşterileri listeler. Hiç bir şey almamış müşterileri de listelemek isterseniz LEFT OUTER JOIN ile ikinci tabloyu (satis) bağlamanız gereklidir.
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 01/01/2008, 23:31   #8 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 639
Varsayılan

Hocam Access sorgular kısmından kodunu çalıştır

Left Outer joinle sadece eşleşen kayıtları toplayabilirsin
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 02/01/2008, 09:43   #9 (permalink)
aynanın "Amca" dediği
 
sineld Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 09/2005
Yer: Php.Net
Mesaj: 1,211
Varsayılan

@deathisonitsway burası sql forumu, sen php ile cevap yazıyorsun, sence ne kadar doğru bu? burada (İki tablo arasında bağlantı kurarak gruplama yapma) olduğu gibi yalnızca sql ile yazman gerekir.
__________________
sineld amcanın imzası:

PHP Kodu:
<?php 
$amca
'http://www.sinaneldem.com'
header('Location: '.$amca); 
?>
amcanın evi
sineld hatta değil   Alıntı Yaparak Yanıtla
Eski 02/01/2008, 21:27   #10 (permalink)
Üye
 
adimavi Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2006
Mesaj: 12
Varsayılan

Bende buradan devamla aynı konu hakkında şunu sormak istiyorum;

- Yazı tablosu
- id
- baslik
- yazi
- Yorum tablosu
- id
- yaziid
- yazi


şeklinde olan iki tablo yapısı (access) için en çok yorum yapılan 5 yazıyı seçtirmek istiyorum.
(Yazı tablosuna "yorumsay" şeklinde bir sutun açılıp eklenen silinen yorumların işlemi yapılabilir ama bunu yapmak istemiyorum.)

Yukarıdaki çözülmüş sql tablosuna benzetmeye çalıştım ama olmadı;
Alıntı:
SELECT top 5 yorum.yaziid,yorum.yazi,yazi.id, count(yorum.yaziid) AS toplam FROM yorum INNER JOIN yazi ON yazi.id=yorum.yaziid GROUP BY yazi.id;
Yardım ederseniz sevinirim.
adimavi hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
En iyi Mysql tablo optimizasyonu yapma. Tablo türü ozellikleri vilee Veritabanları & SQL 10 10/04/2008 20:11
İki tablo arasında karşılaştırma svitavy Veritabanları & SQL 2 05/09/2007 19:40
2 tablo arasında aramak Pco PHP 3 16/09/2006 16:24
İki tablo arasında sorgulama lombaks Veritabanları & SQL 7 22/07/2006 14:52
2 toshiba arasında wireless bağlantı stbolen Ağ / Güvenlik 7 03/01/2006 00:50


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 22:11.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net