我已经编写了一个查询来从WorkOrder表中也存在的Works表中选择这些记录。这很酷,但现在我想选择Works中存在但不存在于WorkOrders中的记录。为什么我的内部连接查询与!=不起作用?
我已经写了这个查询,但是这个返回错误的结果。
Select w.NIT_No, w.WorkNo, wo.Amount, wo.Rate, wo.Quantity, wo.Unit, wo.ItemCode, wo.WorkOrderBoqID,
wo.WorkOrderIssueDate from Works w
inner join WorkOrderBOQ wo
on w.WorkNo != wo.Work_No and w.NIT_No != wo.NIT_No
我把!=放在ON中。
我觉得这样做是行不通的。尝试使用LEFT JOIN获得预期结果 – Praveen
如果要比较两个表中的记录,为什么不用“EXCEPT”[除了operator-vs-in-in](https://dba.stackexchange.com/questions/83684/except-operator-vs-not-in) – Joby
如果你正在命中NULL值,使用'!='不会给你所需的结果。另外,根据你想要达到的目标,你的查询非常怪异。你只是不会找到你要找的东西。 – Jens