我的任务是创建遗留程序的新报告。我需要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中的所有客户都维护在客户表中,但报告需要显示交易表中的所有数据。
答案 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