我有表名爲Savannah
,我在那裏有2列:animals
和weight
。PostgreSQL「IF」問題
在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 –