Mysql显示数据月份明智

时间:2017-11-30 14:51:53

标签: mysql

我的查询是获取月份数据,但是这个查询在11月的列中显示了十月相同的数据,11月的列中没有数据我希望将其显示为空。为什么11月会显示十月数据?我附上这些表和结果的图片。 Result of this query

Tables Structure

SELECT 
(SELECT products.pro_id) AS id,
(SELECT products.product_name) AS Pro_Name,
(SELECT products.nsp) AS NSP,
(SELECT SUM(orders.current_sales) WHERE YEAR(orders.order_date) =2017 AND MONTH(orders.order_date) =10) AS October,
(SELECT SUM(orders.current_sales) WHERE YEAR(orders.order_date) =2017 AND MONTH(orders.order_date) =11) AS November
FROM products, orders
GROUP BY id, orders.order_date

1 个答案:

答案 0 :(得分:0)

我的猜测,从查看您发布的查询,您看到的是笛卡尔积的结果。您在两个表之间没有连接语句,从而产生笛卡尔积。

添加联接,我会打赌它会修复它。

更正:在仔细查看您的查询后,我不明白您在做什么。这个问题不同于我见过的任何问题。按列对每个组进行子选择?