上面的就不贴出来了
FROM ni_contract_out_main OUT,
ni_contract_loss loss,
ni_contract_item item,
ni_contract_in_main m
WHERE OUT.req_no =
(SELECT MAX(c.req_no) --取最大文号
FROM ni_contract c
WHERE c.contract_id = OUT.contract_id)
AND OUT.req_no = loss.req_no(+)
AND OUT.contract_id = loss.contract_id(+)
AND OUT.item_no = loss.item_no_cp(+)
AND loss.item_no = item.item_no(+)
AND m.req_no(+) = loss.req_no
AND m.contract_id(+) = loss.contract_id
AND m.item_no(+) = loss.item_no
怎么把这些连接转换为SQL
AND OUT.contract_id = @contract_id
ORDER BY out_xh_no, xh_no) a
------解决方案--------------------
是左右连接的写法问题吧
FROM ni_contract_out_main OUT
LEFT JOIN ni_contract_loss loss
ON OUT.req_no = loss.req_no
AND OUT.contract_id = loss.contract_id
AND OUT.item_no = loss.item_no_cp
LEFT JOIN ni_contract_item item
ON loss.item_no = item.item_no
LEFT JOIN ni_contract_in_main m
ON m.req_no = loss.req_no
AND m.contract_id = loss.contract_id
AND m.item_no = loss.item_no
WHERE OUT.req_no =
(SELECT MAX(c.req_no) --取最大文号
FROM ni_contract c
WHERE c.contract_id = OUT.contract_id)