2017-03-06 40 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

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

相关问题