在sql server中我的查询中调用表值函数

时间:2016-08-31 15:32:15

标签: sql-server function sql-function

我创建了这个功能

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

结果:

enter image description here

我想在我选择的内容中合并这些列:

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

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

1 个答案:

答案 0 :(得分:2)

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