SELECT (
SELECT DATE'2021-08-31' - MIN(DATE)
FROM TABLE
WHERE BAL LIKE '237%'
) AS DATE_DIF,
( SELECT SUMM
FROM TABLE
WHERE DAT = DATE'2021-08-31' AND BAL LIKE '237%'
) AS SALDO_PASSIVE
FROM DUAL;
輸出就像
| DATE_DIFF | SALDO_PASSIVE |
|---|---|
| 837 | 3263200 |
我曾嘗試在 SUMM 之前使用 CASE,但沒有成功。這里日期差異 = 837 它介于 2-3 年之間,因此輸出應為 SUMM * 0,4。還是有其他方法可以做到這一點?
uj5u.com熱心網友回復:
您只提到了年份在2到3之間的邏輯。如果還有其他條件,則需要在case陳述句中提及。
select
DATE_DIF,
(case DATE_DIF/365 between 2 and 3 then SALDO_PASSIVE*.04 else SALDO_PASSIVE end ) SALDO_PASSIVE
(
SELECT (
SELECT DATE'2021-08-31' - MIN(DATE)
FROM TABLE
WHERE BAL LIKE '237%'
) AS DATE_DIF,
( SELECT SUMM
FROM TABLE
WHERE DAT = DATE'2021-08-31' AND BAL LIKE '237%'
) AS SALDO_PASSIVE
FROM DUAL
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/442074.html
