Cześć, dopiero raczkuje w SQLu i bardzo proszę o pomoc w napisaniu zapytania w SQL. Napisałem coś takiego jak poniżej:
SELECT l.CONTRACT_NO, l.CON_BALANCE_TOTAL_AMOUNT, l.cli_regon_pesel, B.REGON_PESEL, B.BASE_FUNDS, b.GUARANTEED_FUNDS
FROM rep_l l
JOIN guarantee b on
(l.cli_regon_pesel = LTRIM(B.regon_pesel, 'P-')) and L.rep_date = b.rep_date and l.b_id=b.b_id
WHERE L.rep_date = 20170630 and L.b_id = 06 and l.ntee = 'Y'
group by l.CONTRACT_NO, l.CON_BALANCE_TOTAL_AMOUNT, l.cli_regon_pesel, B.REGON_PESEL, B.BASE_FUNDS,
b.GUARANTEED_FUNDS
ORDER BY L.CLI_REGON_PESEL;
Zapytanie daje mi z bazy 37032 wyników.
Zdarza się, że jeden cli_regon_pesel posiada kilka CON_BALANCE_TOTAL_AMOUNT, a co gorsze zdarza się że wartości się powtarzają np.
CON_BALANCE_TOTAL_AMOUNT cli_regon_pesel
14,44 008
4,27 008
4,27 008
14,44 008
Chciałbym, aby wynik dla tego klienta był 18,71.
Myślałem o czymś w stylu select case when count(cli_regon_pesel) >1 then sum(CON_BALANCE_TOTAL_AMOUNT) else 0 end ....., ale nie działa.
Bardzo proszę o pomoc