【发布时间】:2018-10-03 12:50:20
【问题描述】:
我在下面有三个查询(除了 WHERE 子句的第一行之外相同),它们都可以在我的脚本中完美运行。第一个查询客户的订单,第二个查询分配给代表的所有订单,第三个查询整个公司的所有订单周期。
同样,它们都可以在给定各自变量的情况下工作(所有变量都来自同一页面),但我正在尝试为所有 3 种情况填充表格中的列。
有没有一种方法可以组合这些并创建一个查询,为每个子句提供相同的值?
所以,我希望一个查询返回所有 6 列。这是在 db2 上运行的,所以我不知道最好的方法,但我可以创建一个更大的基于 CASE 的查询吗?
//query on orders for this customer
SELECT
count(*) as sales_180Cust,
180/count(*) as velocityCust
FROM orders g
inner join dates i
on g.date1 = i.acyyyymmdd
WHERE g.cust = $customer
AND g.frm = $frm
AND g.cvr = $cvr
AND g.clr = $clr
AND i.aciso between current_Date - 180 DAY AND current_Date;
//orders belonging to representative
SELECT
count(*) as sales_180Rep,
180/count(*) as velocityRep
FROM orders g
inner join dates i
on g.date1 = i.acyyyymmdd
WHERE g.rep = $rep
AND g.frm = $frm
AND g.cvr = $cvr
AND g.clr = $clr
AND i.aciso between current_Date - 180 DAY AND current_Date;
//query across ALL orders
SELECT
count(*) as sales_180Company,
180/count(*) as velocityCompany
FROM orders g
inner join dates i
on g.date1 = i.acyyyymmdd
WHERE g.frm = $frm
AND g.cvr = $cvr
AND g.clr = $clr
AND i.aciso between current_Date - 180 DAY AND current_Date;
【问题讨论】:
-
样本数据和期望的结果真的很有帮助。
-
我很快就能弄到这里
-
DDL 也会有所帮助
-
你厌倦了
UNION吗?!