[英]PostgreSQL "IF" issue
我有一個名為Savannah
表,那里有 2 列: animals
和weight
。
在SELECT
字符串(沒有WHERE
運算符等)中,我需要(使用 IF 運算符)顯示名為“lion”的動物的“生長歷史”。
就像: 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
SELECT animals, CASE animals WHEN 'lion' THEN weight END AS "Grow History"
FROM mytable
您可以使用 Case 表達式來實現這一點。 語法是這樣的:SELECT CASE animal WHEN 'lion' THEN weight END FROM Savannah;
您還可以編寫多個 case 表達式或多個 WHEN、THEN 表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.