我编写了一条case语句,返回的是ladder_value_lh2是<还是> ladder_value_lh1:
CASE
WHEN ladder_value_lh1>ladder_value_lh2 THEN 'up'
WHEN ladder_value_lh1< ladder_value_lh2 THEN 'down'
WHEN ladder_value_lh2 IS NULL THEN 'No Change'
END AS advocacy_moved_up_down_nochange,
梯形图值由0,A,B,C1,C2,D和E组成。
现在,它无法识别0小于A(等等)。因此,如果ladder_value_lh1为0,并且小于B的ladder_value_lh2,我期望会下降;现在,它正在返回“不变”。
如何判断0小于A(等等)?
谢谢
答案 0 :(得分:1)
我建议您使用field()
:
(case sign(field(ladder_value_lh1, '0', 'A', 'B', 'C1', 'C2', 'D', 'E') - field(ladder_value_lh2, '0', 'A', 'B', 'C1', 'C2', 'D', 'E'))
when 1 then 'up'
when -1 then 'down'
when 0 then 'no change'
else 'null value'
end)