У меня есть функция табличного значения, которая принимает идентификационный номер человека и возвращает несколько строк и столбцов. В другом запросе я создаю SELECT, который извлекает много информации о многих людях. Как я могу передать идентификационный номер из моего основного запроса в мою функцию, чтобы суммировать столбец и присоединить его к моему основному запросу? Хотелось бы, чтобы у меня не было функции табличного значения, так как это работало бы легко, однако, эта функция используется в другом месте, и я хотел бы использовать ее повторно Возможно, это даже невозможно с табличной функцией, и мне нужно создать скалярную функцию.
Мой основной запрос выглядит так:
select id_num, name, balance
from listOfPeople
И функция табличных значений выглядит следующим образом:
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 в функцию, поскольку это не совсем та же область.