sql >> Databáze >  >> RDS >> PostgreSQL

Míchání explicitních a implicitních spojení se nezdaří s Existuje záznam pro tabulku ... ale nelze na něj odkazovat z této části dotazu

Specifikace SQL uvádí, že před implicitními spojeními se provádějí explicitní spojení. Toto je implicitní spojení:

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

Toto je explicitní spojení:

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

Tento bit kódu:

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

je explicitní spojení a je spuštěno jako první. Všimněte si, že v tomto okamžiku tabulka s aliasem jako já jsem se na ni ještě nedívala, takže ji ještě nelze připojit. Všimněte si, že MySQL toto chování ve verzi 5.2 podle mého názoru opravilo a tento dotaz už tam také nebude fungovat.



  1. Jak volat uloženou proceduru v pohledu?

  2. Existuje schopnost ANY_VALUE pro mysql 5.6?

  3. ORA-01460:požadována neimplementovaná nebo nepřiměřená konverze

  4. Použití regulárního výrazu ve WHERE v Postgresu