sql基本if else条件

时间:2016-07-10 13:34:50

标签: sql postgresql

我有这张桌子:

|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 =之前 car> house result =之后 car = house result =之后 house为空 - > result = X

1 个答案:

答案 0 :(得分:3)

使用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)