Arkadaşlar Join ile 3 tablodan toplamda 5 farklı sütunu birleştirdim buraya kadar her şey tamam fakat bu sütunlardan isim sütununa göre group by ile gruplama yapmak istiyorum beceremedim bir türlü join sorgusu da
select L.MusteriID, L.Ad, L.Soyad, S.Siparis_Tarihi, V.Sevkiyat_Miktarı FROM Siparisler as S Left JOIN Liste L ON S.MusteriID=L.MusteriID LEFT JOIN Sevkiyat V ON V.MusteriID=L.MusteriID Group by Ad
diye sıralatmak istiyorum ama bir yerde hatam var ama bulamadım bir türlü nerede hata yapıyorum sizce ?
Yardımcı olan arkadaşlara şimdiden teşekkür ediyorum. Hepinizin Berat Kandili mübarek olsun.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
group by kullanırken select sorgunda count(),sum(),max(),min() gibi aggragate ifade kullanmalısın, group by Ad diyerek eline o kolondaki değerleri tekilleştirirsin. örnek olarak;
Name LastName Ali Can Veli Can Hilmi Cem Ayşe Şan Emre Can
tablo yukarıdaki gibi olsun;
select lastname, count(*) from tablo group by lastname
sonuç:
LastName Count() Can 3 Cem 1 Şan 1
group by da hangi alan(lar) varsa select'te de sadece onlar olmalı + agg fonk.lar
yani şöyle bir sorgu olmaz
select name, lastname, count() from tablo group by lastname
----
sıralama yapmak istedim demişsin Ad'a göre o zaman yukarıdaki sorguda group by yerine order by diyebilirsin.
edit: sana da hayırlı kandiller
< Bu mesaj bu kişi tarafından değiştirildi keftar -- 1 Haziran 2015; 12:43:41 >
Öncelikle yardımınız için teşekkür ederim. Aynen yanlış söyledim order by değil group by kullancağım yani gruplama yazacaktım sıralama yerine.
Öte yandan sorun şurada normal bir tabloda ben bu gruplamayı yapıyorum herhangi bir sıkıntı yok ama mesele join ile birleştirilmiş tablolar olunca orada sorun yaşıyorum. Join ile birleştirdiğim tablolarda Ad tablosunda Johnny leri gruplasın istiyorum
grupladıktan sonra yapmak istediğin nedir. Adı Johnny olanların sayısını mı elde etmek istiyorsun ya da atıyorum adı Johnny olanların maaşları toplamını istiyorsun?
select * from (select L.Ad,count(*) FROM Siparisler as S Left JOIN Liste L ON S.MusteriID=L.MusteriID LEFT JOIN Sevkiyat V ON V.MusteriID=L.MusteriID Group by L.Ad ) where ad = 'Jonny'
"group by da hangi alan(lar) Varsa select'te de sadece onlar olmalı + agg fonk.lar
yani şöyle bir sorgu olmaz
select name, lastname, count() from tablo group by lastname"
< Bu mesaj bu kişi tarafından değiştirildi keftar -- 1 Haziran 2015; 12:45:34 >
select L.MusteriID, L.Ad, L.Soyad, S.Siparis_Tarihi, V.Sevkiyat_Miktarı
FROM Siparisler as S
Left JOIN Liste L ON
S.MusteriID=L.MusteriID
LEFT JOIN Sevkiyat V ON V.MusteriID=L.MusteriID
Group by Ad
diye sıralatmak istiyorum ama bir yerde hatam var ama bulamadım bir türlü nerede hata yapıyorum sizce ?
Yardımcı olan arkadaşlara şimdiden teşekkür ediyorum. Hepinizin Berat Kandili mübarek olsun.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.