在postgresql中case语句为true时添加条件

时间:2016-04-06 06:23:39

标签: sql postgresql case

我有一个查询,当case语句为true时我需要放置条件。我已经尝试过这样但不会纠正正确的值。

jr

2 个答案:

答案 0 :(得分:3)

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

那样的条件

答案 1 :(得分:0)

你不能使用这样的案例。

很难弄清楚你要做什么,但要测试案例的结果,而不是把测试放在案例中,如下所示:

...
where CASE when no_answer='f' then value_s else value_n end
  IS not NULL