【发布时间】:2020-07-29 02:48:42
【问题描述】:
SELECT CREX.RECODE,
(CASE WHEN ARX.ARRATE <> 0 THEN
ARX.ARRATE
ELSE
(CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT1 THEN
(CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT2 THEN
(CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT3 THEN
(CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT4 THEN
(CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT5 THEN
(CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT6 THEN
ELSE ARX.ARRAT6 END)
ELSE ARX.ARRAT5 END)
ELSE ARX.ARRAT4 END)
ELSE ARX.ARRAT3 END)
ELSE ARX.ARRAT2 END)
ELSE ARX.ARRAT1 END)
END) AS BUNGA,
ROW_NUMBER() OVER(PARTITION BY CREX.RECODE ORDER BY ARX.ARDTVL DESC) AS RN
FROM CTE_M5RE CREX
LEFT JOIN CORE_BMI.M6SB SBX ON (CREX.RECODE = SBX.SBRECO)
LEFT JOIN CORE_BMI.H8AR ARX ON (CREX.RECODE = ARX.ARRECO)
我正在编写一个 MySQL 查询,其中返回的一些列需要根据相当多的条件进行计算。
有人知道如何修复我的代码吗?
【问题讨论】:
-
您缺少
CASE WHEN SBX.SBCLBL-SBX.SBDRBL > ARX.ARAMT6 THEN的值
标签: mysql sql join select case