Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
5
Cevap
2601
Tıklama
0
Öne Çıkarma
JOIN İle Beraber GROUP BY Kullanımı
L
10 yıl
Binbaşı
Konu Sahibi

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.

Üye Ol Şimdi Değil



K
10 yıl
Yüzbaşı

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 >

L
10 yıl
Binbaşı
Konu Sahibi

Ö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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @keftar
K
10 yıl
Yüzbaşı

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?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @laerrof
L
10 yıl
Binbaşı
Konu Sahibi

kaç tane johnny var onu saydırmak istiyorum count operatörünü de eklemeye çalıştım ama doğrusu beceremedim


Bu mesaja 1 cevap geldi.
K
10 yıl
Yüzbaşı

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 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.