Können Sie einen INNER JOIN ohne das Schlüsselwort ON haben?
Beim Debuggen in Oracle-Code bin ich auf folgende Abfrage gestoßen:
SELECT TPM_TASK.TASKID FROM TPM_GROUP
INNER JOIN TPM_USERGROUPS ON TPM_GROUP.GROUPID = TPM_USERGROUPS.GROUPID
INNER JOIN TPM_TASK
INNER JOIN TPM_GROUPTASKS ON TPM_TASK.TASKID = TPM_GROUPTASKS.TASKID
INNER JOIN TPM_PROJECTVERSION ON TPM_TASK.PROJECTID = TPM_PROJECTVERSION.PROJECTID AND TPM_TASK.VERSIONID = TPM_PROJECTVERSION.VERSIONID
INNER JOIN TPM_TASKSTAGE ON TPM_TASK.STAGEID = TPM_TASKSTAGE.STAGEID
INNER JOIN TPM_PROJECTSTAGE ON TPM_PROJECTVERSION.STAGEID = TPM_PROJECTSTAGE.STAGEID
ON TPM_GROUP.GROUPID = TPM_GROUPTASKS.GROUPID
Ich bin verwirrt von der Linie:
INNER JOIN TPM_TASK
Ich habe noch keinen gesehenJOIN
ohne eineON
Klausel vor. Verwirrend ist auch die Zeile:
ON TPM_GROUP.GROUPID = TPM_GROUPTASKS.GROUPID
Dies scheint ein Zufall zu seinON
Klausel ohne ÜbereinstimmungJOIN
. Die Abfrage wird fehlerfrei ausgeführt und gibt eine Reihe von Daten zurück. Die Syntax ist also offensichtlich einwandfrei. Kann jemand etwas Licht ins Dunkel bringen, was genau hier los ist?