Postgresql 9.3.
SELECT
wo.id,
valuefact2,
wu.manualinput as workunit_manualinput,
CASE WHEN wu.manualinput = TRUE THEN valuefact2 = 999
ELSE valuefact2 = 77
END
FROM
workunit wu,
workotdel wo
WHERE
wo.workunit_id = wu.id AND
wo.otdel_id = ? AND
wo.document_id = ?
Ругается «нет поля valuefact2». Его действительно нет, пробовал использовать CASE.
Если wu.manualinput = TRUE берем wo.valuefact
Если wu.manualinput = FALSE берем результат подзапроса:
SELECT sum(wp.valuefact)
FROM workpeople wp
WHERE wp.workotdel_id = wo.id
Делать подзапрос через вызов функции на PL/pgSQL ?