是否可以在单个查询中执行此操作?

问题描述:

我有2个表,第一个表:是否可以在单个查询中执行此操作?

Table1

而这里的第二个表:

Table2

所需的输出:

Jan | 1,000,000 
Feb | 0.000 
Mar | 0.000 

是否有可能与单查询?

+0

是的情况下,这是可能的。使用'LEFT JOIN' – Faytraneozter

+0

@Faytraneozter不需要连接... –

+0

但需要输出吗?我不认为这是可能的。请看看销售情况? –

SELECT 
    t2.`month`, 
    SUM(t1.sales) as sales 
FROM 
    table2 AS t2 
LEFT JOIN table1 AS t1 ON t2.`month` = DATE_FORMAT(t1.date, "%b") 
GROUP BY t2.`month` 
ORDER BY sales desc 

希望这可以帮助你。

但为此,您必须在表格中进行一些更改您的月份名称应仅为3个字符,因为我们按月份名称加入表名,正如您在表格中看到的那样添加日期,所以我们将其转换为其他格式,3个字符使用DATE_FORMAT(t1.date, "%b")的名字,所以这对你

要去工作在您不想使用第二个表试试这个

SELECT DATE_FORMAT(t1.date, "%b") AS MONTH, SUM(t1.sales) FROM table1 AS t1 GROUP BY t1.date

+0

WOW多谢先生!它为我工作,但为什么月份不正确? – Newbie

+0

是的,我想排序它,将更新我的查询一旦我将完成 –

+0

无需尝试,请检查我的最后评论请! – EhsanT

SELECT s.Month, SUM(f.Sales) 
FROM firstTable f, secondTable s 
GROUP BY MONTH (Date) 

应该为你工作。

+0

感谢您的回应,但它没有显示我想要的输出。它仅汇总Sales列中的所有值并重复所有月份。 – Newbie