/ / MySQL JOIN i COUNT w jednym zapytaniu - mysql, sql, join, left-join

MySQL JOIN i COUNT w jednym zapytaniu - mysql, sql, join, left-join

Próbuję połączyć 2 stoły razem i uzyskać liczbę kluczy obcych ... Przykro mi, ale tak naprawdę nie potrafię się wytłumaczyć, więc pozwól mi zademonstrować:

Mam 1 tabelę „zamówienia” dla zamówień z następującymi polami:

id, f_name, l_name, credit_card, ETC.

Następnie mam tabelę „zamówienia_detale” dla pozycji w zamówieniu, na przykład:

id, order_id, product_id, qty

Teraz chcę uruchomić zapytanie łączące 2 tabele, uzyskując 1 wiersz na każdy wiersz w tabeli zamówień, a kolumna mówi mi, ile produktów jest w każdym zamówieniu.

Czy ktoś wie jak to osiągnąć?

P.S. Chciałbym również móc uzyskać sumę wszystkich „ilości” dla zamówień (nie chcę uruchamiać osobnego zapytania dla każdego zamówienia).

Odpowiedzi:

10 dla odpowiedzi № 1
SELECT o.id, o.f_name, o.l_name, COUNT(od.id), COALESCE(SUM(od.qty), 0)
FROM orders o
LEFT JOIN order_details od ON o.id = od.order_id
GROUP BY o.id, o.f_name, o.l_name