postgresql - как манипулировать результатами запроса? - PullRequest
1 голос
/ 20 декабря 2011

Скажите, у меня есть этот запрос:

SELECT name::text, id::int, pass:bool FROM mytable;

, который дает мне эту таблицу просмотра:

name   id    pass
------------------
A      123    t
B      234    t
C      345    f

Как мне сказать postgres вместо этого дать мне

name   id    pass
--------------------
A      123   passed
B      234   passed
C      345   failed

Я попробовал CASE WHEN condition THEN result;, но это просто дает мне еще один столбец 'case'.
(если нет простого способа для postgres, есть ли в psycopg2? Потому что я в основном использую его для получения нужных мне данных)

Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 20 декабря 2011
SELECT name::text, id::int, 
CASE WHEN pass = true THEN 'passed' ELSE 'failed' END AS pass 
FROM mytable;
4 голосов
/ 20 декабря 2011

Вы можете использовать это:

select case pass when true then 'passed' when false then 'failed' else null end pass from...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...