sql >> Database teknologi >  >> RDS >> Sqlserver

Ledger Report Logic i lagret procedure

Jeg har prøvet som nedenfor, det kan måske hjælpe dig

SELECT Patient_nbr,
       billno,
       billamount,
       PAID_AMOUNT,
       CASE
         WHEN RNO > 1 THEN Sum(billamount - PAID_AMOUNT)
                             OVER(
                               PARTITION BY Patient_nbr
                               ORDER BY RNO)
         ELSE Iif(( billamount - PAID_AMOUNT ) < 0, 0, billamount - PAID_AMOUNT)
       END
FROM   (SELECT *,
               Row_number()
                 OVER(
                   PARTITION BY Patient_nbr
                   ORDER BY Patient_nbr) AS RNO
        FROM   #Patient_ledger) A 


  1. Spring Boot / JPA / mySQL - mange til en relation skaber for mange SQL-forespørgsler

  2. Tabellen kan ikke have 2-felts primær nøgle med auto_increment

  3. Easysoft frigiver ODBC-ODBC Bridge til Windows 10

  4. Tilføjelse til det samme array med to forskellige foreach-løkker PHP/SQL