我有一张销售表和一张销售商品表。每次销售可以有多个项目。该销售还有一个销售代理商及其用于搜索的代理商ID(在此示例中代理商ID为8)。 因此伪查询计算特定产品类型的数量(在两个日期之间为特定代理商找到项目表。
表格布局
agency --->sale--->item1
|-->item2
我的查询是
agency --->sale--->item1
|-->item2
如果我这样做,我会
SELECT (SELECT COUNT(DISTINCT(sale_id))
FROM sales_order_items AS si
WHERE si.sale_id = s.id AND si.product_type ='1')as COUNT
FROM sales as s
JOIN agency as a ON s.sales_person = a.agency_id
WHERE s.created >= '2018-01-01 00:00:00' AND s.created <= '2018-01-08 23:59:59' AND a.agency_id = '8'
GROUP BY s.sales_person
如果我删除GROUP BY,我会
COUNT
1
但是我想要数字的SUM,所以在上面这个例子中......发现了4个项目!
我正在使用DISTINCT,因为在我搜索的产品类型的同一销售中可能有很多商品,但我只是想知道有多少销售产品类型而不是订单上的商品数量。我哪里错了?
帮助表示赞赏
基思