sql >> Database teknologi >  >> RDS >> PostgreSQL

Blanding af eksplicitte og implicitte joinforbindelser mislykkes med Der er en post for tabel ... men den kan ikke refereres fra denne del af forespørgslen

SQL-specifikationen angiver, at eksplicitte joinforbindelser udføres før implicitte joinforbindelser. Dette er en implicit joinforbindelse:

FROM table1 t1, table2 t2 WHERE t1.id=t2.t1id

Dette er en eksplicit tilslutning:

FROM table1 t1 JOIN table2 t2 ON (t1.id=t2.t1id)

Denne kodebit:

categories c 
     LEFT JOIN photos p 
        ON p.referencekey = i.key 

er et eksplicit join og køres først. Bemærk, at tabellen på dette tidspunkt er kaldet, da jeg ikke er blevet set på endnu, så den kan ikke tilsluttes endnu. Bemærk, at MySQL har løst denne adfærd i 5.2, tror jeg, og denne forespørgsel vil heller ikke længere virke der.



  1. Hvordan kontrollerer man, om filen findes i PL/SQL?

  2. Opret en skemabundet visning i SQL Server

  3. Hvordan summeres værdier af en kolonne i SQL?

  4. SQLite-tabelbegrænsning unik og ON CONFLICT REPLACE-brug