2017-03-23 10 views
-1

私はfollwoingクエリを持って返します。このような答えを返しますは、文を選択する多重それぞれがCASEを使用し、二つの値

SELECT COALESCE(income_adsense, income_adsense_u) AS "REV", 
    CASE COALESCE(income_adsense, income_adsense_u) 
     WHEN income_adsense THEN "REAL" 
     WHEN income_adsense_u THEN "USER" 
    END AS source 
FROM revenue_report LIMIT 1; 

REV | source 
376 | REAL 

を今すぐクエリが正常に動作しますが、問題私は別のエンティティ(この例ではadsense)のためにこの選択したカップルを実行したいですか?私は得ることができる 最高のはこれです:

SELECT rr.site_id, ws.website_name, 
    CASE COALESCE(income_adsense, income_adsense_u) 
     WHEN income_adsense THEN "REAL" 
     WHEN income_adsense_u THEN "USER" 
    END AS adsense_source, 
    CASE COALESCE(income_taboola, income_taboola_u) 
     WHEN income_taboola THEN "REAL" 
     WHEN income_taboola_u THEN "USER" 
    END AS taboola_source 
FROM revenue_report rr 
INNER JOIN websites ws ON ws.website_id = rr.site_id 
WHERE (data_date BETWEEN '2017-03-18' AND '2017-03-18') 
GROUP BY site_id 
LIMIT 1 

が、ここでの問題は、私は、上の例から「REV」の値が欠落しています。 2番目のクエリには存在しませんが、これが最後の作業です。どのように私は2番目のクエリに "REV"の値のロジックを追加することができます任意のアイデア? 2番目のクエリで

私は、結果のこのような構造を取得します:

site_id|website_name|adsense_source|taboola_source 

が、ここでは、なぜできないの例ではまあ376

+0

入力データと出力の例を挙げてください。私はあなたがここで探しているものを理解するのに苦労しています。 – IMSoP

答えて

1

た最初のクエリからCOALESCE結果が不足してイムあなたのSELECTリストにそれを含めてください

SELECT rr.site_id, ws.website_name, 
    COALESCE(income_adsense, income_adsense_u) AS "REV", //Here 
    CASE COALESCE(income_adsense, income_adsense_u) 
     WHEN income_adsense THEN "REAL" 
     WHEN income_adsense_u THEN "USER" 
    END AS adsense_source, 
    CASE COALESCE(income_gol, income_gol_u) 
     WHEN income_taboola THEN "REAL" 
     WHEN income_taboola_u THEN "USER" 
    END AS taboola_source 
FROM revenue_report rr 
INNER JOIN websites ws ON ws.website_id = rr.site_id 
WHERE (data_date BETWEEN '2017-03-18' AND '2017-03-18') 
GROUP BY site_id 
LIMIT 1 
+0

私の質問を更新し、あなたの答えの問題を理解するのを助けてくれることを願っています。 –

+0

@yarivbar、それはまだ十分にはっきりしていません。なぜその式を追加して選択できないのですか? – Rahul

+0

2番目の行がクエリにもう一度追加されてから、2番目のCASEが必要なものになりました。 –

関連する問題