我在表a中有数据,我想要解冻并创建到另一个表b中。想知道如何做到这一点。我在考虑做嵌套的CASE表达式。但这可行吗?
例如: -
表a: -
-0.2 7888 99 90 9000 788 100 999 888
我想创建另一个表b,这样做: -
选择
情况下S< 0然后(S + 1 / En-Eg)
ELSE(S-1 / En-Eg))END AS Z.
来自
我还想将Z与其他值进行比较: -
如果z> 0然后'好' 别的'坏'
这样的事情,我也可以在表格b中这样做吗?
答案 0 :(得分:2)
如果在子查询中执行CASE表达式,则可以“重用”CASE表达式:
SELECT z, CASE WHEN z > 0 THEN 'Good' ELSE 'Bad' END AS zdesc
FROM (
SELECT CASE WHEN S < 0
THEN (S + 1 / En - Eg)
ELSE (S - 1 / En - Eg) END AS z
FROM a
) b