2017-07-14 4 views
0

例は、私が持っているSQL - クエリ:このクエリでサブクエリの結果をどのように使用できますか?

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 

をそして、これらの値の差を得るために、私はこのような第三副問合せでこれらの要求を複製する必要がありますか?

(
    (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' 

さらに具体的な方法があります。例えば、(coefRL - coefWF)

+0

あなたは一時テーブルを試してみましたか? –

答えて

1

これは、第三サブクエリなしでそれを行う方法です...

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 
) 
関連する問題