anyway to slice amount into ranges according to ranges from table as below
<code>------------------------------------------
| ID | CAT_ID | START_RANGE | END_RANGE |
------------------------------------------
| 1 | 1 | 279 | 450 |
| 2 | 1 | 451 | 650 |
| 3 | 1 | 651 | 850 |
| 4 | 1 | 851 | 1100 |
| 5 | 1 | 1101 | 3000 |
------------------------------------------
</code>
<code>------------------------------------------
| ID | CAT_ID | START_RANGE | END_RANGE |
------------------------------------------
| 1 | 1 | 279 | 450 |
| 2 | 1 | 451 | 650 |
| 3 | 1 | 651 | 850 |
| 4 | 1 | 851 | 1100 |
| 5 | 1 | 1101 | 3000 |
------------------------------------------
</code>
------------------------------------------
| ID | CAT_ID | START_RANGE | END_RANGE |
------------------------------------------
| 1 | 1 | 279 | 450 |
| 2 | 1 | 451 | 650 |
| 3 | 1 | 651 | 850 |
| 4 | 1 | 851 | 1100 |
| 5 | 1 | 1101 | 3000 |
------------------------------------------
i write this query but it will not get ranges dynamiclly from table above any ideas
<code>SELECT CASE WHEN (SAL_AMOUNT + ALLOWANCE) > (ALTA + 279) THEN
CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 1100)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 1100) * 15/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 850)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 850) * 13/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 650)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 650) * 11/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 450)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 450) * 9/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 279)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 279) * 7/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 279)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 279) * 0/100)))
END END END END END END END AS "ER"
FROM TABLE_NAME
WHERE TABLE_NAME.ID = 61237;
</code>
<code>SELECT CASE WHEN (SAL_AMOUNT + ALLOWANCE) > (ALTA + 279) THEN
CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 1100)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 1100) * 15/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 850)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 850) * 13/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 650)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 650) * 11/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 450)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 450) * 9/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 279)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 279) * 7/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 279)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 279) * 0/100)))
END END END END END END END AS "ER"
FROM TABLE_NAME
WHERE TABLE_NAME.ID = 61237;
</code>
SELECT CASE WHEN (SAL_AMOUNT + ALLOWANCE) > (ALTA + 279) THEN
CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 1100)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 1100) * 15/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 850)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 850) * 13/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 650)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 650) * 11/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 450)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 450) * 9/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 279)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 279) * 7/100)))
ELSE CASE WHEN ((SAL_AMOUNT + ALLOWANCE) > (ALTA + 279)) THEN ((CEIL((SAL_AMOUNT + ALLOWANCE - ALTA - 279) * 0/100)))
END END END END END END END AS "ER"
FROM TABLE_NAME
WHERE TABLE_NAME.ID = 61237;