2017-12-21 14 views
3

MSSQLからPostgreSQLへのOUTER APPLYと同等の使用法についてSQLクエリを検索しようとしていますが、見つけにくいです。PostgreSQLの外部アプリケーションと同等の構文は何ですか

私のMSSQLのサンプルクエリは、このようなものです。

誰かが私の問題を助けてくれることを願っています。前もって感謝します。

SELECT table1.col1, table1.col2, Supp.ID, Supp.Supplier 

FROM SIS_PRS table1 

OUTER APPLY (SELECT TOP 1 ID, SupplierName FROM table2 WHERE table2.ID = table1.SupplierID) AS Supp 

答えて

2

それは横に参加されています

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; 

しかし、あなただけの相関サブクエリとデータベースのいずれかにかなり近づくことができます。

SELECT table1.col1, table1.col2, table1.SupplierID, 
     (SELECT ID, Name 
     FROM table2 
     WHERE table2.ID = table1.SupplierID 
     FETCH FIRST 1 ROW ONLY 
     ) as SupplierName 
FROM SIS_PRS table1; 

はまた、両方のデータベースであることに注意、 ORDER BYで1行をフェッチすると疑わしい。

+0

ありがとう、私は私のサンプルで注文を追加するのを忘れてしまった:) – ayanix

関連する問題