我正在尝试从两个表格制作生产报告,两个表格都是不同的日期。 (下面的表格示例)
first table (machine ID, production time, date)
-result should be sum of time group by machine ID (parameters - date from - to)
second table (machine ID, repair time, date)
-result should be sum of repair time group by(parameters - date from-to).
在报告中,我需要使用两个表中的sum来计算(例如:from 1.1.2013 to 10.1.2013
)。问题是我需要从两个表中使用两个不同的日期参数,但是当我使用该连接时,它不像LEFT OUTER JOIN
那样工作,而是INNER JOIN
。(从firts表我需要所有记录,并且仅从第二个{} {1}})
表示例:
结果必须是:
machineID |生产时间总和|修复时间总和(如果有) - 基于from-to
答案 0 :(得分:0)
不要加入表格,而是尝试联合它们。如下所示:
SELECT machineID, spent_time as time, production_date as date, 'Production' as type
FROM table1
WHERE production_date between {?date_from} and {?date_to}
UNION
SELECT machineID, repair_time as time, repair_date as date, 'Repair' as type
FROM table2
WHERE repair_date between {?date_from} and {?date_to}
然后,您可以轻松地按机器分组,并将所有“生产”行和所有“修复”行分别汇总。
答案 1 :(得分:0)
您可以在一个“主”报告中嵌入两个子报告。在主报表中定义参数,然后将它们链接到每个子报表。