0

我有两张表,一张显示用户从各个商店购买的商品,另一张显示了谁买了什么的详细信息。

产品表 A 为:

prod_id
site_name
product

用户的表 B 是:

user_id
prod_id

我需要计算从某家商店购买的产品总数。我不能简单地从表 A 中计数,因为可能有多个用户购买了相同的产品,但为了保持数据整洁,我将其存储在上面。

我是否应该在表 B 中包含 site_name 以便更容易简单地计算它,还是可以在一个查询中完成?我宁愿不要为了几个查询而膨胀表,因为我认为这将是糟糕的数据库设计,但无法弄清楚如何进行计数。

是否可以?

4

2 回答 2

1

你使用一个连接:

SELECT COUNT(1)
FROM A JOIN B ON A.prod_id = B.prod_id
WHERE A.site_name = 'foo'
于 2012-09-28T17:33:38.877 回答
0
select count(*)
from 
    A inner join B on A.prod_id = B.prod_id
where 
    site_name = 'the site name' 
    and 
    user_id = '1'
于 2012-09-28T17:40:22.210 回答