Mysql запрос с подсчетом на другую таблицу

У меня есть две таблицы, одна из которых содержит информацию о транзакции, такую ​​как идентификатор, статус, цена и дата. У меня есть другая таблица, которая хранит количество элементов в этом порядке в виде отдельных строк. Итак, скажем, что транзакция 2 имеет 10 элементов, во второй таблице будет 10 строк различных элементов. Что я пытаюсь сделать, это запустить запрос, который перечисляет транзакции и количество товаров, проданных в этой транзакции. Я предполагаю, что для этого потребуется подсчет на втором столе, но я не совсем уверен, как это сделать. Это базовый макет базы данных

transaction id, date, price, discount, status
items: id, transaction_id, item_name, email, date_ordered, hash

Заранее спасибо за помощь.

0

Решение

Группировать по столбцам в transaction стол, который вы хотите выбрать. Затем добавьте количество предметов

select t.id, count(i.id) as item_count
from transaction t
left join items i on i.transaction_id = t.id
group by t.id
1

Другие решения

Вы можете сделать left join на обеих таблицах, как показано ниже

select t.*, tab.total_order
from transaction t
left join
(
select transaction_id, count(*) as total_order
from items
group by transaction_id
) tab on t.id = tab.transaction_id
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector