URL: https://www.overclockers.at/coding-stuff/pro-frage_sql_200397/page_1 - zur Vollversion wechseln!
Hi!
Ich hab grad einen Knopf im Hirn - ich dachte immer bei einem SQL-Join kann man mehrere Schlüsselfelder angeben, über die Verknüpft werden soll. Jetzt schmeißt mir der Parser aber einen sehr unkonkreten Fehler, bei irgendeiner AND-Verknüpfung solle was nicht stimmen.
Schema:
LEFT OUTER JOIN kz.tabelle ON
a.feld1=kz.feld1
a.feld2=kz.feld2
Gibts das bei LO-Joins gar nicht?
Statement ist folgendes:
(Nicht wundern über die seltsame Syntax, ist VQL)
Edit: Entfernt
Vielleicht kann mir wer helfen, danke..
Du hast ein AND vergessen bei
LEFT OUTER JOIN relABTERMKORD tk ON
ep.PROJEKTNR = tk.PROJEKTNR AND
ep.PROJEKTVZ = tk.PROJEKTVZ AND
ep.MANDANT = tk.MANDANT AND
ep.PROJEKTVER = tk.PROJEKTVER
ep.POSNR = tk.POSNR
Schon korrigiert, der Parser motzt aber bereits beim ersten AND..
Ah ok, dachte vielleicht das wär's gewesen. Ansonsten will ich mein Hirn nicht bemühen darüber nachzudenken, wie JOINs jetzt tatsächlich funktionieren :]
Ich tätt jetzt mal gesagt die ONs klammern. Weiß aber nicht ob das das Problem ist, probieren kannst ja mal.
Mah da sieht man wieder wie blöd man wird wenn man zu viel gleichzeitig im Kopf hat 
Die Argumente bei Joins werden natürlich nicht mit AND, sondern durch Beistriche getrennt. 
Solved, danke fürs nachdenken.
Zitat von ObermotzDie Argumente bei Joins werden natürlich nicht mit AND, sondern durch Beistriche getrennt.
Doku definiert VQL genauer:
ZitatDer Zugriff auf die Daten erfolgt über eine mengenorientierte Schnittstelle. Mengenorientiert bedeutet, dass die gewünschte Satzmenge in einer speziellen Sprache beschrieben wird, nicht jedoch die Art des Zugriffs und der Datenorganisation (satzorientiert). Die meisten Datenbanken unterstützen dafür die Abfragesprache SQL (Structured Query Language = Strukturierte Abfragesprache), wobei es zwischen den einzelnen Anbietern Unterschiede gibt. Um für ... eine herstellerunabhängige Schnittstelle zu bieten, die außerdem eng mit dem Repository und den internen Datenstrukturen zusammenarbeitet, wird an der Schnittstelle zu ... mit der Sprache VQL (Versatile Query Language) gearbeitet. Die Sprache VQL lehnt sich an der Standardsprache SQL an, enthält jedoch zusätzliche, ... spezifische Erweiterungen. In dieser Sprache werden Anweisungen zum Laden und Ändern von Daten formuliert, die dann über bestimmte ...-Methoden ausgeführt werden. Die VQL-Anweisungen werden in der Domäne ScriptDataDef als VQLStatement-Objekte erfasst, wobei jede Anweisung durch einen eindeutigen Namen identifiziert wird. Zur Laufzeit wird in der Regel keine VQL-Anweisung in textueller Form übergeben, sondern nur der Name der Anweisung.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026