我花了1个小时的大部分时间在这里搜索操作。我非常感谢您解决此问题的任何帮助:
,CASE WHEN days > 30 and amount1 > amount3 then (amount3 * .20)
but if amount2 < amount1 then (amount1 *.20) else NULL end as amountcharged
我知道上面的代码不正确。我添加了“但是”以更好地解释我要做什么...非常感谢!
答案 0 :(得分:1)
您可以在您的when
语句上链接多个case
子句,这些子句基本上就像是else if
一样工作-从您的问题中的“但是”开始您需要:
case when days > 30 and amount1 > amount3
then (amount3 * .20)
when amount2 < amount1
then (amount1 * .20)
else NULL
end as amountcharged
可以被认为是伪代码逻辑:
if days > 30 and amount1 > amount3
then (amount3 * .20)
else if amount2 < amount1
then (amount1 * .20)
else NULL
end