I have a table valued function that returns a table. When I try to JOIN
the table-valued function with another table I don\'t get any results, but when I copy t
If we made some assumptions that params of table valued functions are not dependent on myTable columns dynamically this will work.
SELECT *
FROM myTable
INNER JOIN
(SELECT * from fn_function(@para1, @para2 etc))
ON ...
but if the params are dependent on myTable it will not work
I think this should work
Select *
From Animals
Join dbo.AnimalsTypesIds(900343)
As AnimalsTypes
On AnimalsTypes.TypeId = Animals.TypeId
In table valued function the return table should have TypeId so that join works on that clause
Your "ON" clause of the join is most likely incorrect. Perhaps a small typo like
JOIN x ON oID = odID
instead of
JOIN x ON oID = oID
With the table valued function you generally use Cross Apply
.
Select *
From myTable m
CROSS APPLY fn_function(m.field1, m.field2)