I have query that creates a column on the fly like so:
SELECT
v_list_client.id AS "id",
EXISTS(
SELECT id FROM message
WHERE to_phone_number = v_list_client."phoneNumber"
AND created_by_agent_id !=
(SELECT id FROM agent WHERE agent_role_id = (
SELECT id FROM agent_role WHERE label = 'Bot'))
) AS "hasReceivedMessageFromAgent",
*
FROM v_list_client
LEFT JOIN v_form
ON (v_form."client" ->> 'id')::integer = id
WHERE (v_form."formTypeId")::integer = 1
AND (v_form."isReceived")::boolean = true
HAVING "hasReceivedMessageFromAgent" = true
I'd like for the HAVING
clause to only return results if the client has received a message from an agent, i.e if the hasReceivedMessageFromAgent
column is true
.