我使用以下查询从多个表中获取计数: -
SELECT
b.sales_title,
c.cat_name,
count(b.sales_id) as cnt,
count(e.comment_id) as coun
FROM tb_sale_report a
inner join tbl_sales b on a.sales_id=b.sales_id
inner join tb_category c on c.cat_id=b.category_id
left join tb_comment e on b.sales_id=e.sales_id
GROUP BY b.sales_title
我正在努力实现
sales_title | cat_name | cnt | coun
--------------------------------------------------
Affiliate | Kids toys | 8 | 0
Date Check | Handbags | 26 | 1
Date Date | My Category | 4 | 1
Future Date | Handbags | 3 | 0
Giovanni | Kids toys | 4 | 1
但是我没有得到错误的计数,列coun
的值就像这样出错了,
sales_title | cat_name | cnt | coun
---------------------------------------------
Affiliate | Kids toys | 8 | 0
Date Check | Handbags | 26 | 26
Date Date | My Category | 4 | 4
Future Date | Handbags | 3 | 0
Giovanni | Kids toys | 4 | 4
如何编写查询以实现我的目标。需要帮助,我是编程新手。谢谢提前
答案 0 :(得分:1)
除非您告诉我们您的表格结构/提供一小段数据来复制您的问题,否则很难说清楚。看起来您的注释表正在被复制,以便执行到tbl_sales
表的连接,因此计数中存在重复项。
尝试使用COUNT(DISTINCT e.comment_id) as coun
来解决此问题。