select product_name, product_order.Count(*)
From product Join product_order
ON product.product_id = product_order.product_id
where product.product_id = product_order.product_id;
我一直在研究这个查询一个小时,似乎无法让它工作。我需要做的就是将一个表中的产品与另一个表中的产品匹配。然后在一列中显示产品以及在下一列中订购产品的次数。
答案 0 :(得分:1)
这应该简单如下:
select product_name,
count(product_order.product_id)
From product left join product_order
on product.product_id = product_order.product_id
group by product_name
我使用左连接并依靠product_order.product_id计算,因此仍然会显示尚未订购的产品,计数为零。
答案 1 :(得分:0)
我就是这样做的:
select p.product_name,
(select count(*) from product_order po where p.product_id = po.product_id) times_ordered
from product p
或者,您可以使用group by语句:
select p.product_name,
count(po.product_id)
from product p,
product_order po
where p.product_id = po.product_id(+)
group by p.product_name