我知道如何使用单个条件或使用WHERE键IS NULL在MySQL中进行LEFT JOIN,但是如果在ON语句中有多个条件,那么如何做?我有一张发票表,其中包含订单号和发票日期。我还有一个包含订单号和发货日期的船舶表。我想退回发票表中没有相应记录的任何项目。例如......
invoice table:
InvoiceNum OrderNum InvoiceDate
106433 136365 2011-10-03
111888 136365 2012-06-19
ship table:
OrderNum ShipDate
136365 2012-06-19
我想写一个查询,它将从发票表中返回发票号106433。有人知道如何最好地做到这一点。我正在将其他表加入到查询中,但这是我无法搞清楚的问题。感谢任何人的帮助!
答案 0 :(得分:7)
您可以使用ON
,AND
等OR
子句中的multiple conditions。
select i.InvoiceNum
from invoice i
left outer join ship s on i.OrderNum = s.OrderNum
and i.InvoiceDate = s.ShipDate
where s.OrderNum is null