Verwendung von SQL Joins in Excel

Ich habe vor ungefähr einem Jahr eine aktualisierte Frage gesehen, die mich weit zu der Lösung geführt hat, die ich brauche, aber zu mehr Fragen als Antworten geführt hat.

Lassen Sie mich zunächst sagen, dass ich kein "Anfänger" in SQL (DB2, SQLServer, Oracle) bin, sondern ein relativer "Anfänger" in der Verwendung von SQL in Excel. Außerdem arbeite ich 2010, muss aber die Kompatibilität mit 2003 behalten.

Ich versuche, die Daten in einem Blatt einem anderen Blatt zuzuordnen und Ausnahmen zu melden. Ich möchte 6 Spalten aus "Offenen Zeilen" auswählen und sie mit 3 Spalten aus "Nachbestellungen" abgleichen und nur die Ausnahmen anzeigen. "Open Lines" kann 1..n sein und "Back Orders" kann 0..n sein. Ich möchte nur die Zeilen abrufen, in denen 'Back Orders' vorhanden sind.

Um normales SQL zu schreiben, würde ich ungefähr so ​​vorgehen:

SELECT 
O.[Part Number], O.[Part Desc], O.[Source Domain], O.[Ship Qty], O.[Date Created],
B.[Dest Domain], B.[Quantity], B.[Date Created] 
FROM [OPEN LINES] O
JOIN [Back Orders] B ON O.[Part Number] = B.[Part Number]
WHERE B.[Part Number] IS NOT NULL
ORDER BY O.[Part Number] 

Das Problem ist, dass ich den Join nicht fehlerfrei hinter mich bringen kann. Das habe ich bisher.

rs.Open "SELECT [OPEN LINES$].[Part Number], [OPEN LINES$].[Part Desc], " $ _
"[OPEN LINES$]. [Source Domain], " & _
"[OPEN LINES$].[Ship Qty], [OPEN LINES$].[Date Created] " & _
"FROM [OPEN LINES$] " & _
"JOIN [Back Orders$] ON [OPEN LINES$].[Part Number] = [Back Orders$].[Part Number] " & _
"ORDER BY [OPEN LINES$].[Part Number] ;", cn

Ich würde mich über jede Hilfe freuen, die Sie leisten können.

Gord

Antworten auf die Frage(1)

Ihre Antwort auf die Frage