PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Qual é a sintaxe equivalente para aplicação externa no PostgreSQL


É uma junção lateral:
SELECT table1.col1, table1.col2, Supp.ID, Supp.Supplier
FROM SIS_PRS table1 LEFT JOIN LATERAL
     (SELECT ID, SupplierName
      FROM table2
      WHERE table2.ID = table1.SupplierID
      FETCH FIRST 1 ROW ONLY
     ) Supp
     ON true;

No entanto, você pode chegar bem perto em qualquer banco de dados com apenas uma subconsulta correlacionada:
SELECT table1.col1, table1.col2, table1.SupplierID, 
       (SELECT Name
        FROM table2
        WHERE table2.ID = table1.SupplierID
        FETCH FIRST 1 ROW ONLY
       ) as SupplierName
FROM SIS_PRS table1;

Observe também que em ambos os bancos de dados, buscar uma linha sem ORDER BY é suspeito.