Ich habe eine Abfrage geschrieben, um diese Datensätze aus der Tabelle Works auszuwählen, die auch in der Tabelle WorkOrder vorhanden ist. Das ist cool, aber jetzt möchte ich die Datensätze auswählen, die in Works vorhanden sind, aber nicht in WorkOrders.Warum funktioniert meine innere Join-Abfrage mit! = Nicht?
Ich habe diese Abfrage geschrieben, aber diese gibt falsche Ergebnisse zurück.
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
Ich habe gesetzt! = In ON.
Ich denke, das würde nie funktionieren. Versuchen Sie es mit LEFT JOIN, um die erwarteten Ergebnisse zu erhalten. – Praveen
Wenn Sie zwei Tabellen für die Datensätze vergleichen möchten, warum nicht mit EXCEPT weitermachen [except-operator-vs-not-in] (https://dba.stackexchange.com/questions/83684/except-operator-vs-not-in) – Joby
Wenn Sie irgendwelche 'NULL' Werte treffen, wird Ihnen'! = 'Nicht das gewünschte Ergebnis liefern. Ihre Anfrage basiert auch ziemlich auf dem, was Sie erreichen möchten. Sie werden nicht finden, was Sie suchen. – Jens