У меня есть функция table-value, которая принимает идентификационный номер человека и возвращает несколько строк и столбцов. В другом запросе я создаю SELECT, который извлекает много информации о многих людях. Как я могу передать номер id из моего основного запроса в свою функцию, чтобы суммировать столбец и присоединиться к его основному запросу? Мне жаль, что у меня не было функции значения таблицы, так как это будет работать легко, однако эта функция используется в другом месте, и я бы хотел ее повторно использовать. Возможно, это невозможно даже с помощью функции table-value, и мне нужно создать скалярную.
Мой основной запрос выглядит следующим образом:
select id_num, name, balance
from listOfPeople
И функция table-value выглядит так:
calculatePersonalDiscount(id_number)
Я хотел бы сделать что-то вроде:
select id_num, name, balance
from listOfPeople
left join
(
SELECT id_num, SUM(discount)
FROM calculatePersonalDiscount(listOfPeople.id_num)
) x ON x.id_num = listOfPeople.id_num
Но вы не можете передать listOfPeople.id_num в функцию, так как она не является той же областью.