У меня есть таблица с именем Savannah
, и у меня есть 2 столбца: animals
и weight
.PostgreSQL «IF» issue
В SELECT
строка (без WHERE
операторов и т. Д.) Мне нужно (с оператором IF) показать «расти историю» для животных под названием «лев».
Это как: if animals = 'lion', show 'weight'
Как я могу это сделать?
Это полный запрос:
SELECT
f.id, f.date, f.login, f.fever_id, sum(p.source),
CASE animals WHEN 'lion' THEN weight END
FROM
fb_prefer f
LEFT JOIN
region r ON f.region_id = r.id
LEFT JOIN
patrools p ON f.region_id = p.region_id
LEFT JOIN
savannah_stats z ON f.region_id = z.region_id
WHERE
f.source > '0'
GROUP BY
f.id, f.fever_id
Примечание: в SQL отсутствует оператор 'IF' * *. Но: в вашем случае, возможно, «CASE» может быть полезным. – wildplasser
Моя неудачная команда IF? –
Прочтите эту часть руководства для выражения 'CASE WHEN ... ': http://www.postgresql.org/docs/current/static/functions-conditional.html –