3つのクエリを1つのクエリで結合してグラフテーブルで表現する必要があります。 NetAmount20171つのクエリで3つのテーブルを組み合わせるには
第二問合せ:
第一クエリは、第二のクエリは、予算を見つけることですNetAmount2017 を検索することである(2017) 第三クエリはNetAmount2016
に第一クエリを探すことです。 Budget2017
SELECT
SUM(CASE WHEN c.busidate BETWEEN '2017-01' AND '2017-04' THEN c.budget ELSE
0 END) as budget,
b.store_name
FROM site_kpimthslsbgt c JOIN site_store b ON b.storenum = c.storenum
GROUP BY c.storenum
第三クエリ:NetAmount2016(第一クエリと同じですが、異なる日付)
私は2つのクエリのみを組み合わせることができますが、3つのクエリを組み合わせることはできません。ここにbudget2017とnetamount2017の組み合わせがあります。
Select x.netamt, y.budget, y.store_name
from
(
SELECT sum(a.netamt) as netamt, b.store_name
FROM site_sales a JOIN site_store b ON b.storenum = a.storenum
WHERE a.busidate >= '2017-01-01' AND a.busidate <='2017-04-30'
GROUP BY a.storenum
) x
inner join
(
SELECT
SUM(CASE WHEN c.busidate BETWEEN '2017-01' AND '2017-04' THEN c.budget
ELSE 0 END) as budget,
b.store_name
FROM site_kpimthslsbgt c JOIN site_store b ON b.storenum = c.storenum
GROUP BY c.storenum
) y
on x.store_name = y.store_name
結果は、Netamount2017、Budget2017、Netamount2016の3つの棒グラフからなる1つのグラフに表示する必要があります。下の写真は結果を示していますが、2017年の予算は1月のみ表示され、1月から4月の中から選択した月は表示されません。これは3つのクエリを結合するためのこれまでのクエリです
SELECT
SUM(CASE WHEN a.busidate BETWEEN '2016-01-01' AND '2016-04-30' THEN a.netamt
ELSE 0 END) as netamt2016,
SUM(CASE WHEN a.busidate BETWEEN '2017-01-01' AND '2017-04-30' THEN a.netamt ELSE 0
END) as netamt,
b.store_name,
c.budget
FROM site_sales a JOIN site_store b ON b.storenum = a.storenum
JOIN site_kpimthslsbgt c ON b.storenum = c.storenum
WHERE c.busidate = '2017-01' AND b.store_region='$store_region'
GROUP BY a.storenum
もし私が間違った計算をすると、私はこれを下のクエリで行います。
SELECT
SUM(CASE WHEN a.busidate BETWEEN '2016-01-01' AND '2016-04-30' THEN a.netamt
ELSE 0 END) as netamt2016,
SUM(CASE WHEN a.busidate BETWEEN '2017-01-01' AND '2017-04-30' THEN a.netamt ELSE 0
END) as netamt,
b.store_name,
c.budget
FROM site_sales a JOIN site_store b ON b.storenum = a.storenum
JOIN site_kpimthslsbgt c ON b.storenum = c.storenum
WHERE c.busidate BETWEEN '2017-01' AND '2017-04' AND b.store_region='$store_region'
GROUP BY a.storenum
uはあなたが 'union'を試してみる –
あなたのテーブル構造を投稿することができます:ここで はコードがありますか? –
決して使ってみることはできません。 –