【发布时间】:2017-11-13 20:15:52
【问题描述】:
我已经编写了一个查询来从表 Works 中选择那些记录,该表也存在于 WorkOrder 表中。这很酷,但现在我想选择那些存在于 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 获得预期结果
-
如果你想比较两个表的记录,为什么不继续使用
EXCEPTexcept-operator-vs-not-in -
如果您遇到任何
NULL值,使用!=不会给您所需的结果。此外,根据您想要实现的目标,您的查询非常古怪。你只是找不到你要找的东西。
标签: sql sql-server tsql stored-procedures sql-server-2014