使用FUNCTION时哪个JOIN正确使用?

时间:2015-02-11 08:43:20

标签: tsql

拿这个示例代码......

SELECT Persons.name,
       getCarModelID(Persons.ID) AS car_model -- < A function 

FROM   Persons
       LEFT OUTER JOIN Cars ON getCarModelID(Persons.ID) = Cars.ID

在上面的示例中,使用“LEFT OUTER JOIN”是否正确?

1 个答案:

答案 0 :(得分:0)

如果您打算使用函数加入表,那么您将需要使用T-SQL&#34;外部应用&#34;运营商。与您使用的左连接类似,上面的内容也是可能的。

联接只能连接两个或多个表,但不能连接具有函数的表。 你可以learn using Apply from this link.

正确的代码如下:

SELECT Persons.name,
       getCarModelID(Persons.ID) AS car_model -- < A function 

FROM   Persons
       OUTER APPLY Cars ON getCarModelID(Persons.ID) = Cars.ID;