Я хотел бы сделать что-то вроде этого:
CASE
WHEN Derp.Herp = 'Nerp' THEN 'Gerp'
ELSE NULL
ENDS AS Herpty
WHERE Herpty IS NOT NULL
Идея состоит в том, что я хотел бы, чтобы это выполнялось в том же запросе, но проблема в том,что Postgres обычно говорит мне, что Herpty не существует (возможно, потому, что он создается в том же запросе), может быть, есть соглашение или обходной путь?Идея для меня заключается в том, чтобы получить столбец Герпти, исключая то, что не 'Nerp'
в Derp.Herp
, и я не хочу возвращать NULL.
ОБНОВЛЕНИЕ: ответы, которые я получил до сих пор, не помоглимой фактический запрос немного сложнее, я не могу вставить в оператор WHERE WHERE Derp.Herp <> 'Nerp'
, поскольку в моем фактически Query он фактически проходит через 2 столбца в операторе WHEN, так что это больше похоже на: Derp.Herp = 'Nerp' AND Derp.Burp = 'Durp' THEN 'Gerp'
, так что если я перейду кдобавьте, что в предложении WHERE это становится неоднозначным, WHERE Derp.Herp <> 'Nerp' AND Derp.Burp <> 'Durp'
полностью устранит Nerp и Durp, даже если они не совпадают в 2 столбцах, я делаю эту работу для некоммерческой организации, пожалуйста, помогите.
Вот моя попытка переписать мой код, чтобы точнее отразить его: http://pastebin.com/PgvAFvfq