2015-02-11 30 views
-3

把這個示例代碼...使用FUNCTION時,哪個JOIN正確使用?

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」?

+0

使用左外連接或任何其他種類的加盟完全取決於你想要什麼樣的數據。這完全是主觀的。 – 2015-02-11 08:45:16

+2

這取決於預期的結果 – 2015-02-11 08:45:18

回答

0

如果您打算加入一個帶有函數的表格,那麼您將需要使用T-SQL「Outer Apply」運算符。與左邊的Join類似,您可以使用上述內容。

連接只能連接兩個或多個表,但不能連接具有函數的表。 您可以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;