Таблица SQL представляет неупорядоченные наборы.Нет такой вещи, как «первая строка», если только в столбце не указан порядок.
Позвольте мне предположить, что у вас есть такой столбец.В этом случае вы можете использовать оконные функции:
SELECT CLAIMID as "Claim Id",
PAID_IN_INSTALMENTS as "Instalments",
(CASE WHEN 1 = ROW_NUMBER() OVER (PARTITION BY CLIAMID ORDER BY <ordering column>)
THEN SUM(PAID_IN_INSTALMENTS) OVER ()
END) as "Total Amount Paid",
FROM PT_CLAIMS
WHERE CLAIMID = '123456'
ORDER BY <ordering column>;
Это не использует функцию F_CALCULATE_TOTAL_PAID(CLAIMID)
, потому что, кажется, это просто общая сумма PAID_IN_INSTALMENTS
и есть встроенная функция длясделай это.Если в этой функции больше логики, вы можете, конечно, использовать ее вместо оконной функции:
(CASE WHEN 1 = ROW_NUMBER() OVER (PARTITION BY CLIAMID ORDER BY <ordering column>)
THEN `F_CALCULATE_TOTAL_PAID(CLAIMID)
END) as "Total Amount Paid",