是否有更方便更简单的方法来编写下列SQL代码?SQL嵌套子查询与计数
SELECT
products.name,
(SELECT COUNT(*) FROM `sales` WHERE sales.product_id = products.id AND sales.payment_method = 'debt') AS debt,
(SELECT COUNT(*) FROM `sales` WHERE sales.product_id = products.id AND sales.payment_method = 'cash') AS cash,
(SELECT COUNT(*) FROM `sales` WHERE sales.product_id = products.id AND sales.payment_method = 'free') AS free
FROM `sales`, `products`
WHERE `sales`.`product_id` = `products`.`id`
GROUP BY `products`.`id`
我可以添加另一个JOIN语句? '在S.time <= mytime上加入S' –
应该将其作为'WHERE'子句添加,而不是'JOIN'语句。 – Siyual
您可能还想添加条件:'where S.Payment_method in('debt','cash','free'')。这不会改变结果,但可以提高性能。 –