Şimdi Ara

JOIN İle Beraber GROUP BY Kullanımı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
2.360
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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.



  • 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
  • laerrof L kullanıcısına yanıt
    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?
  • kaç tane johnny var onu saydırmak istiyorum count operatörünü de eklemeye çalıştım ama doğrusu beceremedim
  • 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 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.