Я пытаюсь получить значение NUMSESSION из таблицы members_benefit.У моей функции есть идентификатор преимущества и идентификатор членства в качестве параметров, и для members_benefit нужны оба эти значения, в противном случае будет возвращено несколько строк.
Вот суть функции
`CREATE OR REPLACE FUNCTION benefit_when(_benefitid integer, _membershipid
integer) RETURNS text AS $$
DECLARE
bfrec record;
BEGIN
if _membershipid is not null then
select
benefit.*,
membership_benefit.numsession as numsession
from benefit
left join membershiptype on benefit.membershiptypeid=membershiptype.id
left join membership_benefit on _membershipid = membership_benefit.membershipid
where benefit.id=_benefitid
AND (membership_benefit.membershipid is null or membership_benefit.membershipid = _membershipid);`
numsessionзначение не возвращается правильно.Если я печатаю значение двух параметров и просто запрашиваю БД, он возвращает правильный, но не в этой функции.Вам разрешено использовать переменную для присоединения, как я здесь, и если нет, то есть ли лучший способ получить искомое число с двумя имеющимися у меня параметрами?
Заранее спасибо.