在下面的演示示例中,我得到每个卖家的销售价值总和,并计算销售额,并使用以下查询:
tab_sellers
id_seller | seller
1 John
2 Marie
3 Jamie
tab_sales
id | sales | seller | value
1 BMW 1 100
2 FORD 1 200
3 FIAT 2 300
4 FORD 2 400
SELECT tsl.sellers,
SUM(ts.value) AS value_sales,
COUNT(ts.sales) AS sales_number
FROM tab_sellers tsl
LEFT JOIN tab_sales ts ON tsl.id_seller = ts.seller
GROUP BY ts.seller
通过此查询,我获得了销售的卖家列表以及销售额和销售数量的总和。 在这种情况下,只会出现一张销售John和Marie的清单。
但是,我想得到的是所有卖家的清单,无论他们是否有销售,销售数量和总销售额。
也就是说,在结果中也应该出现Jamie,其中sales = 0且value = 0
提前致谢。
答案 0 :(得分:1)
尝试检查是否为null
SELECT tsl.sellers,
SUM(ifnull(ts.value,0)) AS value_sales,
COUNT(inull(ts.sales,0)) AS sales_number
FROM tab_sellers tsl
LEFT JOIN tab_sales ts ON tsl.id_seller = ts.seller
GROUP BY tsl.seller