MySQL Query连接3个表(2个表有数据,1个没有数据)

时间:2017-08-07 06:15:12

标签: php mysql

我查询了NetAmount2017,NetAmount2016和预算(2017),通过HTML将其表示为图表条形图。这是查询。

$query:"SELECT x.netamt2017,z.netamt2016, y.budget, y.store_name
FROM
(
SELECT sum(a.netamt) as netamt2017, b.store_name 
FROM site_sales a JOIN site_store b ON b.storenum = a.storenum 
WHERE a.busidate >= '$date1' AND a.busidate <='$date2' AND a.storenum IN 
($storenum)
GROUP BY a.storenum
) x //This is to Find NetAmount2017

inner join
(
SELECT
SUM(CASE WHEN c.busidate BETWEEN '$date111' AND '$date211' THEN c.budget 
ELSE 0 END) as budget,
b.store_name
FROM site_kpimthslsbgt c JOIN site_store b ON b.storenum = c.storenum 
WHERE c.storenum IN ($storenum)
GROUP BY c.storenum
) y //This is to Find Budget
on x.store_name = y.store_name
INNER JOIN
(
SELECT sum(a.netamt) as netamt2016, b.store_name 
FROM site_sales a JOIN site_store b ON b.storenum = a.storenum 
WHERE a.busidate >= '$date1234' AND a.busidate <='$date2234' AND a.storenum 
IN ($storenum)
GROUP BY a.storenum
) z //This is to Find NetAmount2016
on y.store_name = z.store_name"

此查询完美有效,例如出口(A,B,C,D,E)有2016年,2017年和预算数据。因此结果将显示在Result

下面

当某些奥特莱斯在2016年没有数据但2017年有数据和预算时出现问题。例如,出口F有2017年的数据和预算,但没有2016年。预计结果应该是2017年和预算,如果它没有数据2016.它将只显示2条形图(蓝色和绿色条)

0 个答案:

没有答案