2017-03-06 62 views
0

我想分組和檢索通過數據字段連接的兩個表中的數據。產量是兩個表中的年份和月份。 當我與另一個表「purch_ret_hd」進行連接時,結果對列Purchase_Return不正確。請建議,如果事情是錯誤的查詢MS SQL與日期字段上的兩個表分組

Select YEAR(grn_hd.grn_date) AS GRN_Date,  
     DATENAME(MONTH,grn_hd.grn_date) AS Month_Name, 
     Month(grn_hd.grn_date) AS Month,  
     SUM(grn_hd.inv_amt) AS Purchase_Gross, 
     SUM(grn_hd.disc_amt) AS Purchase_discount, 
     SUM(grn_hd.inv_amt) - SUM(grn_hd.disc_amt) AS 
     Purchase_After_Discount,  
     sum(grn_hd.net_amt) AS Purchase_Net, 
     SUM(purch_ret_hd.net_amt) AS Purchase_Return 
FROM grn_hd 
LEFT JOIN purch_ret_hd 
ON YEAR(purch_ret_hd.entry_date) = YEAR(grn_hd.grn_date) AND 
Month(purch_ret_hd.entry_date) = Month(grn_hd.grn_date) 
AND purch_ret_hd.loc_id = grn_hd.loc_id 
AND purch_ret_hd.loc_id = grn_hd.loc_id 
GROUP BY  
YEAR(grn_hd.grn_date),Month(grn_hd.grn_date), 
DATENAME(MONTH,grn_hd.grn_date) 
Order by 1,3 
+0

1.請詳細解釋'不正確'; 2.請修改查詢以使其有效 –

回答

0

請不是列「DATENAME(MONTH,grn_hd.grn_date)爲MONTH_NAME」)出現了兩次,但第一個不正確寫入(」 eATENAME( MONTH,grn_hd.grn_date)AS Month_Name「)

+0

您只需修復它。所以我的答案不再相關。 –

相關問題