簡體   English   中英

PostgreSQL“IF”問題

[英]PostgreSQL "IF" issue

我有一個名為Savannah表,那里有 2 列: animalsweight

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM