/ / MySQL JOIN та COUNT в одному запиті - mysql, sql, join, left-join

MySQL JOIN і COUNT в одному запиті - mysql, sql, join, left-join

Я намагаюся об'єднати 2 таблиці разом і отримати кількість іноземних ключів ... Мені дуже шкода, але я не знаю як пояснити себе, тому дозвольте продемонструвати:

У мене є 1 таблиця "замовлення" для замовлень із такими полями:

id, f_name, l_name, credit_card, ETC.

Потім у мене є таблиця "замовлення_деталей" для елементів у порядку, наприклад:

id, order_id, product_id, qty

Тепер я хочу запустити запит, що поєднує дві таблиці, отримуючи по 1 рядку в кожному рядку таблиці замовлень, при цьому стовпець повідомляє мені, скільки продуктів у кожному замовлення.

Хтось знає, як цього досягти?

P.S. Мені також хотілося б отримати загальну кількість усіх "кількості" для замовлень (я не хочу виконувати окремий запит для кожного замовлення).

Відповіді:

10 за відповідь № 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