0

全て、

全部で 3 つのテーブルがあります。最初のテーブル 'rollup1' には、キャンペーンのビュー数とクリック数、および日フィールドのワンアップ数が含まれます (列の最大数は現在の日付を表します) 2 番目のテーブル 'rollup2' には収益が含まれますキャンペーンのために。また、デイフィールドの同じワンアップ番号も含まれています。3 番目のテーブル「キャンペーン」には、キャンペーンの ID/名前が含まれています。Campaigns.id = rollup1.id = rollup2.id および rollup1.day=rollup2.day

キャンペーン ID、名前、昨日の特定の計算値、および今日の特定の計算値をリストする SQL クエリを生成したいと考えています。私が探している特定の計算値は、(収益/クリック)*1000 です。

結果は次のようになります。

ID | 名前 | 昨日 | 今日
| | キャンペーン1 | $0.05 | $0.010

caseステートメントを使用できると思いますが、正しく取得できないようです。これが私がこれまでに持っているものです。昨日の数式を計算しますが、今日の数式は計算しません。これらを並べて配置する必要があります。

select campaigns.id, campaigns.name, rollup1.views,rollup1.clicks,rollup2.costs,round((rollup2.costs/rollup1.views)*1000,2) as yesterday
 from campaigns,rollup1,rollup2
 where campaigns.id = rollup1.campaign_id and campaigns.id = rollup2.campaign_id 
and rollup1.dayperiod = rollup2.dayperiod
and rollup1.dayperiod = (SELECT (max(rollup1.dayperiod) -1) FROM rollup1)

ご協力いただきありがとうございます。

4

0 に答える 0