如标题所示,错误发生在:
b
...
CASE
WHEN hl.brnd_fmly_desc_txt <> null THEN 'HERO BRANDS'
ELSE NULL
END AS hero_brnd_fmly_desc_txt,
代码太复杂而无法粘贴。我将离开加入h.brnd_fmly_desc_txt到现有查询并且如果满足条件:c.brnd_fmly_id = hl.brnd_fmly_id将值称为&#39; HERO BRANDS&#39;
这是Postgre Sql 8.3
提前致谢
答案 0 :(得分:1)
我不知道你为什么会出现那个错误。但你的逻辑错了。表达式<> null
始终返回NULL
,将其视为false。你想要的逻辑是:
(CASE WHEN hl.brnd_fmly_desc_txt IS NOT NULL THEN 'HERO BRANDS'
END) AS hero_brnd_fmly_desc_txt
不需要ELSE
。您可以将其保留,但它是多余的,因为默认值为NULL
。