Postgres Analog zu CROSS APPLY in SQL Server

Muss ich migrieren von SQL-Abfragen geschrieben für MS SQL Server 2005 auf PostgreSQL 9.1.
Was ist der beste Weg, um Ersatz für CROSS APPLY in dieser Abfrage?

SELECT *
FROM V_CitizenVersions         
CROSS APPLY     
       dbo.GetCitizenRecModified(Citizen, LastName, FirstName, MiddleName,
BirthYear, BirthMonth, BirthDay, ..... ) -- lots of params

GetCitizenRecModified() Funktion ist eine Tabellenwertfunktion ist. Ich kann nicht Ort, den code dieser Funktion, denn es ist wirklich enorm, es macht einige schwierige Berechnungen und kann ich nicht aufgeben.

Sie nicht brauchen, cross apply in Postgres. Sie können eine Tabelle-Funktion genau wie eine Funktion. Einfach nur sich Ihnen anzuschließen.
CROSS APPLY neu führt die TVF mit korrelierten Parameter, anstatt einmal ausführen und dann Zusammenfügen das Ergebnis.
Ich weiß, dass es uralt ist... @MartinSmith, dass ist nicht unbedingt der Fall auf MSSQL, wenn die Funktion der inline-table-valued-Sorte, siehe Paul White ' s schreiben auf, wie der MSSQL-query-Planer kann manchmal optimieren apply in eine join : sqlservercentral.com/articles/APPLY/69954 Da wir sehen nicht den original-code hier bin ich, darüber zu spekulieren, was passiert ist, basierend auf dem Kommentar re Leistung auf Erwin ' s Antwort.

InformationsquelleAutor user1178399 | 2012-07-13

Schreibe einen Kommentar