Reputation: 115
Example, I have SQL - query:
SELECT
(SELECT value->>"$[0].value"
FROM leads_fields
WHERE leads_fields.field_id = 244991 AND leads_fields.lead_id = leads.external_id)
as 'coefRL',
(SELECT value->>"$[0].value"
FROM leads_fields
WHERE leads_fields.field_id = 244943 AND leads_fields.lead_id = leads.external_id)
as 'coefWF'
FROM leads
And in order to get the difference of these values, I need to duplicate these requests with the 3rd subquery like this?
(
(SELECT value->>"$[0].value"
FROM leads_fields
WHERE leads_fields.field_id = 244991 AND leads_fields.lead_id = leads.external_id)
-
(SELECT value->>"$[0].value"
FROM leads_fields
WHERE leads_fields.field_id = 244943 AND leads_fields.lead_id = leads.external_id)
) as 'difference'
Or there are ways more practical, for example (coefRL - coefWF)
?
Upvotes: 0
Views: 39
Reputation: 187
This is a way to do it without a 3rd subquery...
SELECT coefRL,
coefWF,
coefRL-coefWF difference
FROM
(SELECT
(SELECT value->>"$[0].value"
FROM leads_fields
WHERE leads_fields.field_id = 244991
AND leads_fields.lead_id = leads.external_id
) AS 'coefRL',
(SELECT value->>"$[0].value"
FROM leads_fields
WHERE leads_fields.field_id = 244943
AND leads_fields.lead_id = leads.external_id
) AS 'coefWF'
FROM leads
)
Upvotes: 1