postgresql basic if else conditions



我有这个表:


|car |house|
|2010|2012 |
|2005|2004 |
|2003|2003 |
|2006| |

我需要从中创建此表:


|car |house|result|
|2010|2012 |after |
|2005|2004 |before|
|2003|2003 |after |
|2006| |x |

例:
car <house result="之前<br"> car> house result =之后
car = house result =之后
house为空 -> result =x

使用 CASE EXPRESSION

SELECT t.car,t.house,
       CASE WHEN t.house >= t.car THEN 'AFTER'
            WHEN t.house < t.car THEN 'BEFORE'
            ELSE 'x'
       END as result
FROM YourTable t

编辑:将其连接到另一个表:

SELECT * FROM (
    SELECT t.car,t.house,
           CASE WHEN t.house >= t.car THEN 'AFTER'
                WHEN t.house < t.car THEN 'BEFORE'
                ELSE 'x'
           END as result
    FROM YourTable t) s
JOIN Another_Table tt
 ON(s.result = tt.Column)

最新更新