我的Postgres陈述有什么问题?

时间:2020-10-06 00:31:55

标签: sql postgresql

SELECT first_name, last_name, manager_id
    CASE manager_id
        WHEN manager_id IS null THEN "pip"
        End manager_id
    FROM assgnssql.employees;

我正在尝试选择员工列表,但我知道有些员工没有manager_id,对于这些没有manager_id(空)的员工,我希望结果显示为“点子”,而其余部分则显示原始信息。

>

1 个答案:

答案 0 :(得分:1)

您想要的代码可能是:

SELECT first_name, last_name, manager_id
        (CASE WHEN manager_id IS null THEN 'pip' ELSE manager_id
         END) as manager_id
FROM assgnssql.employees;

或更简单地说:

SELECT first_name, last_name, manager_id
       COALESCE(manager_id, 'pip') as manager_id
FROM assgnssql.employees;

两个重要问题是:

  • 您的CASE语法混乱。您可以使用比较,也可以使用CASE <value>,但不能同时使用两者。
  • 字符串由单引号分隔。
相关问题