2017-01-03 120 views
-1

我有2個表,第一個表:是否可以在單個查詢中執行此操作?

Table1

而這裏的第二個表:

Table2

所需的輸出:

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

是否有可能與單查詢?

+0

是的情況下,這是可能的。使用'LEFT JOIN' – Faytraneozter

+0

@Faytraneozter不需要連接... –

+0

但需要輸出嗎?我不認爲這是可能的。請看看銷售情況? –

回答

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

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

應該爲你工作。

+0

感謝您的迴應,但它沒有顯示我想要的輸出。它僅彙總Sales列中的所有值並重復所有月份。 – Newbie

相關問題