Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È possibile unire una funzione con valori di tabella e un'altra tabella con parametri

L'operatore APPLY dovrebbe fare il trucco:

SELECT *
 from MarketDataMaster
 cross apply dbo.fn_MarketDataDetails (MarketDataMasterID)

Questo essenzialmente chiama la funzione una volta per riga restituita da MarketDataMaster. "cross apply" funziona come un inner join, in quanto verranno restituite solo le righe per le quali i dati vengono restituiti dalla funzione; usa "applicazione esterna" per funzionalità simili ai join esterni sinistro.