NICHT IN der Bedingung in SQL

Kann mir jemand sagen, die genaue syntax für die NICHT IN der Bedingung in SQL auf zwei Säulen.

Dies ist meine Abfrage in VBA geschrieben.

strNewSql = "SELECT distinct(tblRevRelLog_Detail.PartNumber), tblRevRelLog_Detail.ChangeLevel, tblRevRelLog_Detail.ID FROM tblRevRelLog_Detail LEFT JOIN tblEventLog ON tblRevRelLog_Detail.PartNumber = tblEventLog.PartNumber"

strNewSql = strNewSql & " WHERE (tblEventLog.PartNumber) Not In(SELECT tblEventLog.PartNumber FROM tblEventLog WHERE tblEventLog.EventTypeSelected = 'pn REMOVED From Wrapper') AND tblEventLog.TrackingNumber = """ & tempTrackingNumber & """ AND tblEventLog.TrackingNumber =  tblRevRelLog_Detail.RevRelTrackingNumber;"

Möchte ich dies ändern, sub-Abfrage, wie es sollte gelten, die auf der Kombination von zwei Spalten wie folgt:

strNewSql = "SELECT tblRevRelLog_Detail.PartNumber, tblRevRelLog_Detail.ChangeLevel, tblRevRelLog_Detail.ID FROM tblRevRelLog_Detail LEFT JOIN tblEventLog ON tblRevRelLog_Detail.PartNumber = tblEventLog.PartNumber"

strNewSql = strNewSql & " WHERE (((tblEventLog.PartNumber, tblEventLog.PartNumberChgLvl) Not In(SELECT tblEventLog.PartNumber,tblEventLog.PartNumberChgLvl FROM tblEventLog WHERE tblEventLog.EventTypeSelected = 'pn REMOVED From Wrapper') AND tblEventLog.TrackingNumber = """ & tempTrackingNumber & """ AND tblEventLog.TrackingNumber =  tblRevRelLog_Detail.RevRelTrackingNumber);"

Aber das wird nicht funktionieren.....

  • Was Sie tun müssen, ist die Kombination der Spalten zusammen nicht funktioniert oder die Daten nicht in Spalte?
  • Was meinst du mit den zwei Spalten?
  • HLGEM,Kombination von zwei Spalten..
  • Es würde helfen, zu wissen, welche version von MS-Access, die Sie verwenden, wie, die beeinflussen könnten, die Antwort.
  • MS - Access 2003
  • Ich kann nicht glauben, eine einzige version Unterschied für diese Art von einfachen SQL in eine beliebige version von Access zurück zu Version 2. Das einzige, was einen Unterschied machen kann, wenn Sie in A2003 oder höher und SQL 92-Modus eingeschaltet, aber ich glaube nicht einmal, dass würde einen Unterschied machen (es sei denn, Sie verwenden eine SQL-92-Schlüsselwort, von denen keiner springen bei mir). Kurz gesagt, ich glaube nicht, dass die Access-version macht den geringsten Unterschied, also alles, was in dieser Abfrage immer unterstützt wurde.
  • Haben Sie in Betracht gezogen, nur fügen Sie die beiden Tabellen über die beiden Felder, die Sie wollen, zu entsprechen? Ich sehe keinen Grund warum das nicht funktionieren würde. Das ist, ich weiß einfach keinen Grund sehen, um zu springen, um eine Unterabfrage hier. Wo sind Sie mit der Ergebnismenge? Ist es in einer form, die muss bearbeitet werden? Wenn dem so ist, müssen Sie die VERKNÜPFUNG in der Unterabfrage und wieder Ihre Haupt-Tabelle PK-Feld als SELECT in der Unterabfrage.

InformationsquelleAutor user397316 | 2010-11-16
Schreibe einen Kommentar