MudGuard: xml, Meldung 102, Falsche Syntax in der Nähe von ";".

Beitrag lesen

Hi,

Das liegt schon allein daran, dass der Subquery hinter dem JOIN so nichts zu suchen hat.

sagt wer?

Oracle sagt z.B.

   [FROM table_references
      [PARTITION partition_list]]
    [WHERE where_condition]

table_references:
    escaped_table_reference [, escaped_table_reference] ...

table_reference:
    table_factor
  | joined_table

table_factor:
    tbl_name [PARTITION (partition_names)]
        [[AS] alias] [index_hint_list]
  | table_subquery [AS] alias
  | ( table_references )

joined_table:
    table_reference [INNER | CROSS] JOIN table_factor [join_specification]
  | table_reference STRAIGHT_JOIN table_factor
  | table_reference STRAIGHT_JOIN table_factor ON search_condition
  | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_specification
  | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor


 A table_subquery is also known as a derived table or subquery in the FROM clause. See Section 13.2.10.8, “Derived Tables”. Such subqueries must include an alias to give the subquery result a table name. A trivial example follows:

SELECT * FROM (SELECT 1, 2, 3) AS t1;

An der Stelle einer Tabelle kann im select immer auch eine Subquery (mit Alias, ohne geht nicht) stehen.

In anderen DBMS mag das anders aussehen, aber so absolut wie Du das schreibst, ist das nicht.

cu,
Andreas a/k/a MudGuard