我想要做这样的事情:如何在Postgres中的WHERE语句中添加WHERE语句?
CASE WHEN Derp.Herp = 'Nerp' THEN 'Gerp' ELSE NULL ENDS AS Herpty
WHERE Herpty IS NOT NULL
的想法是,我想这是在同一个查询中运行,但问题是,它的Postgres通常会告诉我, Herpty不存在(可能是因为它是在同一个查询中创建的),也许有一个约定或解决方法?这里的想法是获得一个Herpty列,排除'Nerp'
中的'Nerp'
,并且我不希望NULL返回。
更新:到目前为止我的答案没有帮助,我的实际查询稍微复杂一点,我不能放在WHERE语句WHERE Derp.Herp <> 'Nerp'
因为在我的实际查询它实际上通过WHEN语句中的2列,所以它更像是这样的: Derp.Herp = 'Nerp' AND Derp.Burp = 'Durp' THEN 'Gerp'
所以如果我去补充说,它得到模棱两可的WHERE子句中,WHERE Derp.Herp <> 'Nerp' AND Derp.Burp <> 'Durp'
将消除复兴方案和Durp完全即使他们没有在2列相匹配,我做这项工作了非营利请帮忙。
这是我在rewritting我的代码,以更准确地反映它的尝试:http://pastebin.com/PgvAFvfq
你可以写完整的查询你在做什么... – Teja 2012-03-02 18:58:51
只需执行编辑,答案仍然是受欢迎的。 – user519753 2012-03-05 19:16:00
u能写乌尔完整的查询... – Teja 2012-03-05 19:17:59