Ich habe zwei Feature-Classes in einer File-Geodatabase, denen ich basierend auf mehreren Feldern beitreten möchte. Ich habe diese Website und Google durchsucht und alles, was ich mir ausgedacht habe, war die Verwendung des Tools "Abfragetabelle erstellen". Ich habe es versucht, erhalte aber immer wieder einen SQL-Fehler. Mein SQL ist ziemlich schlecht und ich bin mir ziemlich sicher, dass mir etwas fehlt.
Ich bin mir bewusst, dass ich ein neues Feld erstellen und die Werte aus meinen Feldern verketten kann, aber ich möchte dies nach Möglichkeit vermeiden.
Ich benutze etwas, das so aussieht:
(Table1.Field1 = Table2.Field1) AND (Table1.Field2 = Table2.Field2) AND (Table1.Field3 = Table2.Field3)
Wenn ich die Abfrage überprüfe, wird eine Fehlermeldung angezeigt, die besagt:
There was an error with the expression.
An Invalid SQL statement was used.
An invalid SQL statement was used. [Table1]
Wenn jemand eine andere Lösung hat, die dieses Tool nicht verwendet, bin ich froh, davon zu hören.
quelle
Antworten:
Ihre Syntax ist falsch.
Referenz
Wenn Sie die Hilfe in der Seitenleiste " Abfragetabelle erstellen" lesen :
Das würde das richtige Format implizieren als:
Skript
Mit dem folgenden Python-Snippet können Sie das Tool ohne Fehler ausführen:
Ergebnis
quelle
(FGDB 10.2 & ArcMAP 10.2) Vielleicht eine alte Frage aufwerfen - aber ich denke, das ist relevant. Der SQL-Ersteller "Abfragetabelle erstellen" gibt beim Überprüfen einen Fehler aus, auch wenn Ihre Syntax korrekt ist. Ich habe meine Abfrage einfach ohne doppelte Anführungszeichen oder Klammern erstellt
Table1.Field1 = Table2.Field1 AND Table1.Field2 = Table2.Field2
und nicht verifizieren ausgewählt ; Ich habe das Tool einfach ausgeführt und meine Ausgabetabelle wurde korrekt erstellt.
Eine weitere Stackexchange-Frage, die auf diesen Fehler verweist. Überprüfen Sie die Antwort von User2118
quelle