Использовать столбцы из ранее указанной таблицы в запросе в качестве значений параметров для UDF ...?Не работает? - PullRequest
0 голосов
/ 21 мая 2011

Почему я не могу это сделать?

SELECT
    *
FROM
    mtFirstTable t LEFT OUTER JOIN
    myUDF(t.somesolumn, t.someothercolumn) u
        ON t.somecolumn = u.somecolumn AND 
           t.someothercolumn = u.someothercolumn

Я получаю эту ошибку:

Не удалось связать идентификатор из нескольких частей "t.somecolumn".
Не удалось связать многоэлементный идентификатор "t.someothercolumn".

1 Ответ

1 голос
/ 21 мая 2011

Попробуйте это:

SELECT
    *
FROM
    mtFirstTable t CROSS APPLY
    myUDF(t.somesolumn, t.someothercolumn) u
WHERE
    t.somecolumn = u.somecolumn AND 
    t.someothercolumn = u.someothercolumn

Я надеюсь, вы понимаете, что присоединение таблицы к такой функции может вызвать проблемы с производительностью. Исполнение может быть приемлемым, хотя.

...