MS ACCESS中的JOIN语法

时间:2013-11-25 23:28:07

标签: sql ms-access

我的任务是创建遗留程序的新报告。我需要LEFT JOIN一个表,但我在JOIN操作时遇到语法错误。

我的SQL查询如下:

SELECT
 SUM(b.qty) as qty,
 b.price,
 c.item_desc,
 a.cust_name,
 e.curr_symbol
FROM (
tran_hdr a,
 tran_dtl b,
 items c ,
 tailoring e
(
LEFT JOIN 
 customers d
ON a.cust_name = d.name
)
)
WHERE a.tran_id = b.tran_id 
 AND b.item_no = c.item_no
GROUP BY  b.price,
   c.item_desc,
   a.cust_name,
   e.curr_symbol

我正在加入tran_hdr给客户。因为并非Tran Header中的所有客户都维护在客户表中,但报告需要显示交易表中的所有数据。

1 个答案:

答案 0 :(得分:0)

你弄乱了JOINs。 而你的Tailoring表与其他表没有任何关系。

所以,试试吧:

SELECT
  b.price,
  c.item_desc,
  a.cust_name,
  e.curr_symbol,
  SUM(b.qty) as qty
FROM 
 tran_hdr a
 INNER JOIN tran_dtl b
  ON a.tran_id = b.tran_id 
 INNER JOIN items c 
  ON b.item_no = c.item_no
 LEFT JOIN 
  customers d
  ON a.cust_name = d.name
 ,tailoring e
 GROUP BY  b.price,
  c.item_desc,
  a.cust_name,
  e.curr_symbol