我有两个表,其中一个表包含交易信息,如id、状态、价格和日期。我有另一个表,它将项目的数量按该顺序存储为单独的行。因此,假设事务2有10个项目,那么在不同项目的第二个表中将有10行。我想做的是运行一个查询,列出交易和该交易中售出的商品数量。我想这需要在第二个表上进行计数,但我不完全确定如何进行。这是数据库的基本布局
transaction id, date, price, discount, status
items: id, transaction_id, item_name, email, date_ordered, hash
提前感谢您的帮助。
按要选择的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
您可以在两个表上执行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