2016-10-21 45 views
0

可以使用加入功能。 为什么我想这个 因为从表我的函数的返回值,其中以逗号数据分离使用加入功能

Example - '20122200',20122', 

从功能

20122200 
20122 





select FileNamePath,ex.ExprtINI,PROCESSED from OrderExports OE 
INNER JOIN ExporterFiles EX ON EX.RefVal= CAST (OE.ID as varchar) 
where  
    EX.ExportName = 'Ensenda' 

返回上面的SQL语句,我想在EX.RefVal= CAST (OE.ID as varchar)使用功能EX.RefVal= fngetAllRefValfromExporterFiles() 。我试图做到这一点,但不能做到。所以你可以帮我解决这个问题。

+0

没有什么阻止你的'ON'子句中使用函数AFAIK加入的功能。 –

+2

您在演员后错过了'AND'。应该是ON EX.RefVal = CAST(OE.ID as varchar)和EX.ExportName ='Ensenda' –

+0

@MarcusH对不起,我写错了 –

回答

1

因为这是一个table valued function你不能像那样使用它。

使用TVF结果IN条款

EX.RefVal in (select fun_col from fngetAllRefValfromExporterFiles()) 

,或者你可以用你的表

yourtable EX 
JOIN Fngetallrefvalfromexporterfiles() b 
    ON EX.RefVal = b.fun_col 
+0

感谢您能否告诉我我将如何将这添加到您的上述sql语句INNER JOIN ExporterFiles EX因为我坚持在EX.Refval –

+0

@ A.Goutam - 如何'OrderExports'& 'ExporterFiles'应该被加入,因为它在你的查询中缺失..假设你会发布完整的查询 –

+0

是的请写完整的查询 –