v2.5.2
Giriş yap

Group by ile toplama 2 seçenek

resat
343 defa görüntülendi

Merhaba, Aşağıda ki sorgu ile "stok_urun" aynı olan verileri toplayıp listeleyebiliyorum. Fakat "stok_nerede" satırım farklı olabiliyor. Bunuda içine katarak nasıl listeleyebilirim.

Aşağı daki veritabanın göre sonucum bu şekilde olmasını istiyorum.

Stok UrunStok MiktarStok Nerede
23301
261561
27102
22271
$sorgu = $db->prepare("SELECT SUM(stok_miktar) as stok_miktar,stok_urun,stok_nerede,urunler.urun_ad,urunler.urun_renk FROM stok JOIN urunler ON urunler.urun_id=stok.stok_urun GROUP BY stok_urun");
$sorgu->execute();
$stoksorgula = $sorgu->fetchAll(PDO::FETCH_ASSOC);

trsherlock
838 gün önce

Bu sorguyu phpmyadmin ile çalıştırıp kontrol etmeni öneririm hatanı gördüğün zaman daha verimli olur bence.

SUM, COUNT ile diğer sütunları kullandığın zaman GROUP BY sonrasına SUM, COUNT dışındaki diğer sütunları da eklemen gerekir.
JOIN kullanıyorsan birleştirdiğin ikinci tablonun da sütunlarını eklemelisin.

SELECT SUM(stok_miktar) as stok_miktar,
stok_urun,
stok_nerede,
urunler.urun_ad,
urunler.urun_renk FROM stok
JOIN urunler ON urunler.urun_id=stok.stok_urun
GROUP BY stok_urun, stok_nerede, urunler.urun_ad, urunler.urun_renk