나는 "환자 원장 리포트"라고 불리는 저장 프로 시저를 가지고 있습니다. 여기서 환자의 일일 거래 세부 사항 및 잔액을 표시해야합니다 .i는 아래 코드에서 샘플링 한 데이터를 제공하고 있습니다. 데이터가 내 sp에 내 임시 테이블에 삽입되었습니다.원장 리포트 로직 저장 프로 시저
create table #Patient_ledger (PATIENT_NAME varchar(250),PATIENT_NBR bigint,BILLNO varchar(250),BILLAMOUNT bigint,
PAID_AMOUNT bigint)
Insert into #Patient_ledger (Patient_name ,Patient_nbr ,billno ,billamount ,
paid_amount)
select 'ABC',1,'DUE_BILL_ABC_1',100,50
union all
select 'ABC',1,'DUE_BILL_ABC_2',160,90
UNION ALL
select 'ABC',1,'DEPOSIT_BILL_ABC',0,60
UNION ALL
select 'XYZ',2,'DEPOSIT_BILL_XYZ',0,70
UNION ALL
select 'XYZ',2,'DUE_BILL_XYZ_1',100,30
SELECT * FROM #Patient_ledger
Drop table #Patient_ledger
내 보고서에 데이터를 표시하고 싶습니다.
PATIENT_NUMBER BILLNO BILLAMOUNT PAID_AMOUNT BALANCE
1 DUE_BILL_ABC_1 100 50 50 --(100-50)
1 DUE_BILL_ABC_2 160 90 120 --(160-90 +50(Here 50 is prev balance amount of same patient))
1 DEPOSIT_BILL_ABC 0 40 80 ---(120-40=80)
2 DEPOSIT_BILL_XYZ 0 70 0
2 DUE_BILL_XYZ_1 100 30 0 --Here Balance is zero because patient has deposited some
--amount before bill (70-100+30=0)
Note: Balance amount should deduct when deposits are paid by that particual patient.
왜 네 번째 행의 균형이 0입니까? 80-70 = 10 – KumarHarsh
이 레코드 또는 ID를 주문할 날짜가 있습니까? – Tanner
@KumarHarsh 가능성이 다른 환자 때문입니까? – Tanner