sql - 在 postgresql 中,当 case 语句为 true 时添加条件

标签 sql postgresql case

我有一个查询,当 case 语句为 true 时,我需要在哪里放置条件。我已经尝试过这样的操作,但没有得到正确的值。

SELECT
    name,count(CASE WHEN date_part('year',time_stamp) = 2016 THEN answ_count end) AS Year15 
FROM 
        companies companies 
where 

    (CASE when no_answer='f' then value_s IS  not  NULL or value_n IS  not  NULL end )

最佳答案

SELECT name,
        count(CASE WHEN date_part('year',time_stamp) = 2016 THEN answ_count end) AS Year15 
FROM 
        companies companies 
where 
    CASE when no_answer='f' then value_s ELSE '1' end IS  not  NULL
    OR  CASE when no_answer='f' then value_n  ELSE '1' end IS  not  NULL 

CASE 是一个表达式,您只能在 THEN 部分之后指定一个值,而不是像 THEN value_s IS NOT NULL 那样指定条件>

关于sql - 在 postgresql 中,当 case 语句为 true 时添加条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36443101/

相关文章:

sql - SSIS DataFlowTask DefaultBufferSize 和 DefaultBufferMaxRows

php - 如何从 PHP 向 Postgres 插入 null

sql - 在 PostgreSQL 中使用 NULL 值更新 JSONB 列

sql - 如何根据postgres中的按列分组的某些条件获取最后一行

mysql - sas如何计算case语句的值

mysql - 记录没有索引的表的排序

php - 您如何管理 SQL 查询

string - Hive 查询字符串大小写

php - 如何优化以下mysql查询?

javascript - 如何使大小写函数不区分大小写?