2016-07-10 3 views
0

У меня есть эта таблица:SQL базисным, если остальное условия

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

и мне нужно, чтобы создать эту таблицу из него:


|2010|2012 |after |
|2005|2004 |before|
|2003|2003 |after |
|2006| |x |

случаи:
car < houseresult = перед тем
car>houseresult = после
car = houseresult = после
house пусто ->result = х

ответ

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 

EDIT: Чтобы присоединиться к этому в другой таблице:

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) 
+0

с этим кодом, я получаю только выходные данные с этот новый столбец (результат), но как я могу присоединиться к этому столбцу в t. Таблица ? спасибо – hanznv

+0

@hanznv Просто оберните его другим запросом .. Попробуйте сейчас – sagi

Смежные вопросы