ben sonuç verisi buhesapla çalışan bakiyesi
gibi sorgu zaten yapılmışid amount_a amount_b running_balance
CCP1 10.000.000 2.000.000 8.000.000
CCP1 10.000.000 3.000.000 5.000.000
CCP1 10.000.000 1.000.000 4.000.000
CCP1 10.000.000 500.000 3.500.000
CCP2 5.000.000 1.000.000 4.000.000
CCP2 5.000.000 2.000.000 2.000.000
CCP3 1.000.000 500.000 500.000
altında böyle running_balance biri sütun eklemek istediğiniz bu
id cp_id amount_a amount_b
CCP1 TTP01 10.000.000 2.000.000
CCP1 TTP02 10.000.000 3.000.000
CCP1 TTP03 10.000.000 1.000.000
CCP1 TTP04 10.000.000 500.000
CCP2 TTP05 5.000.000 1.000.000
CCP2 TTP06 5.000.000 2.000.000
CCP3 TTP07 1.000.000 500.000
gibi verilere sahip
/* Formatted on 1/26/2017 2:50:06 PM (QP5 v5.115.810.9015) */
SELECT B.NO_KLAIM AS id,
a.amount AS amount_a,
B.AMOUNT AS amount_b,
SUM (A.AMOUNT) OVER (ORDER BY B.AMOUNT ROWS UNBOUNDED PRECEDING)
AS running_balance
FROM TRX_TITIPAN A
JOIN
TRX_KLAIM_TITIPAN B
ON A.NO_RESI_TITIPAN = B.NO_RESI_TITIPAN
GROUP BY B.NO_KLAIM, B.AMOUNT, a.amount
Ancak sonuç, hesaplanan miktar_a değil, sadece toplam miktar_b tutar.
** Güncelleştirmeler: Sorgulamamda zaten güncelleme yapıyorum.
/* Formatted on 1/26/2017 2:50:06 PM (QP5 v5.115.810.9015) */
SELECT B.NO_KLAIM AS id,
a.amount AS amount_a,
B.AMOUNT AS amount_b,
NVL (TITIP.AMOUNT, 0)
- SUM (NVL (KLAIM.AMOUNT, 0))
OVER (PARTITION BY TITIP.AMOUNT
ORDER BY TITIP.NO_RESI_TITIPAN,
KLAIM.NO_KLAIM,
TITIP.AMOUNT,
KLAIM.AMOUNT asc
ROWS UNBOUNDED PRECEDING) as running_balance
FROM TRX_TITIPAN A
JOIN
TRX_KLAIM_TITIPAN B
ON A.NO_RESI_TITIPAN = B.NO_RESI_TITIPAN
GROUP BY B.NO_KLAIM, B.AMOUNT, a.amount
kullanırken koşu denge sağa çalışıyor WHERE id = .... belirli id ile durum. WHERE id = .... koşulunu silerken, yanlış gidiyor. Eğer tablolar açıklamasını eklerseniz
SELECT B.NO_KLAIM AS id,
a.amount AS amount_a,
B.AMOUNT AS amount_b,
a.amount - SUM (B.AMOUNT)
OVER (partition by b.no_klaim ORDER BY B.cp_id ROWS UNBOUNDED PRECEDING)
AS running_balance
FROM TRX_TITIPAN A
JOIN
TRX_KLAIM_TITIPAN B
ON A.NO_RESI_TITIPAN = B.NO_RESI_TITIPAN
Running_balance nasıl tanımlanır? – Massimo
Ek gereksinimleriniz için, '' ile başlayan satırlara id eklemeniz gerekir. Bir analitik fonksiyonda '' Partition by' '' Group by' 'bir toplu sorguda olduğu gibi çalışır - analitik fonksiyonun çalışmasını istediğiniz satır gruplarını belirler. – Boneist