在 sql 服务器的查询中调用 table 值函数

Call table value function inside my query in sql server

我创建了这个函数

ALTER FUNCTION [dbo].[FxPackageReport]
( @packageId int )
RETURNS table
AS
RETURN (
        select *from TestPackageReportDetails where TestPackageId=@packageId and step='LineCheck'
         )
select *from dbo.fxpackagereport(5457)

结果:

我想将这些列合并到我的 select 中,如下所示:

select id,select *from dbo.fxpackagereport(id), from testpackage

是否有任何解决方案可以将此结果与我的查询合并>?我只想将 table 结果放入我的查询中。

UDF 看起来相当简单,因此与其使用 UDF,不如使用简单的连接。

   Select A.*
          ,B.* 
    From testpackage A
    Join TestPackageReportDetails B
      on (TestPackageId=A.ID and step='LineCheck')

另一种选择是使用 CROSS APPLY 和您的 UDF

select A.id
      ,B.*
from testpackage A
Cross Apply (Select * from dbo.fxpackagereport(A.id)) B