Mysql 如何以Crystal的方式从表中提取所需数据?
我有一个类似下表的视图,它使用联接从多个其他表中提取数据。基本上,我试图复制一个Crystal报告,将下面的数据分解为工作-每周小时数-总计到每日小时数-预算数 这是按部门划分的。报告的方式是,它将显示上周的小时数,然后是到目前为止的总小时数,然后是为该部门设置的预算小时数 表并没有反映上述内容——只是DB表的一个示例Mysql 如何以Crystal的方式从表中提取所需数据?,mysql,sql,crystal-reports,Mysql,Sql,Crystal Reports,我有一个类似下表的视图,它使用联接从多个其他表中提取数据。基本上,我试图复制一个Crystal报告,将下面的数据分解为工作-每周小时数-总计到每日小时数-预算数 这是按部门划分的。报告的方式是,它将显示上周的小时数,然后是到目前为止的总小时数,然后是为该部门设置的预算小时数 表并没有反映上述内容——只是DB表的一个示例 +-----------+------------+---------------+--------+---------------------+ | Job
+-----------+------------+---------------+--------+---------------------+
| Job | Work_Date | Work_Center | Est_Total_Hrs | Act_Run_Hrs |
+-----------+------------+---------------+--------+------+--------------+
| 5666 | 2014-02-23 | SURFACE | 155 | 5 |
| 5666 | 2014-02-16 | SURFACE | 155 | 3 |
| 5666 | 2014-02-23 | DESIGN | 200 | 6 |
| 5666 | 2014-02-16 | DESIGN | 200 | 4 |
| 5666 | 2014-02-23 | SURFACE | 150 | 2 |
| 5666 | 2014-02-16 | SURFACE | 150 | 2 |
| 5666 | 2014-02-23 | DESIGN | 300 | 8 |
+-----------+------------+---------------+---------------+--------------+
此外,有很多不同的工作编号,当我在Crystal中调出多个工作时,它将显示如上图所示的报告,但包含我想要检索的所有工作
我将如何提取这些数据,使其在Crystal报告中以相同的方式显示?我想创建一个看起来相同的视图。有没有办法看看Crystal是怎么做的?当我单击ShowQuery时,它会显示下面的查询,我必须重新编写一点,以便它在SQLServer和Adminer中工作
我用于在最近90天的更新工作日内提取所有作业的所有数据的查询
SELECT Job_Operation.Work_Center
,Job_Operation.Job_Operation
,Job_Operation_Time.Work_Date
,Job_Operation.Est_Total_Hrs
,Job_Operation_Time.Act_Run_Hrs
,Job_Operation_Time.Act_Setup_Hrs
,Job.Description
,Job_Operation_Time.Overtime_Hrs
,Job_Operation_Time.Act_Setup_Hrs
,Job.Job
,Job.Description
,Job_Operation_Time.Labor_Burden
,Job_Operation.Est_Setup_Labor
,Job_Operation.Est_Run_Labor
,Job_Operation.Est_Labor_Burden
,Job_Operation.Operation_Service
FROM Job AS Job
LEFT OUTER JOIN Job_Operation AS Job_Operation ON Job.Job = Job_Operation.Job
LEFT OUTER JOIN Job_Operation_Time AS Job_Operation_Time ON Job_Operation.Job_Operation = Job_Operation_Time.Job_Operation
WHERE DATEDIFF(day, Work_Date, GETDATE()) < 90 ORDER BY Work_Date Desc
Crystal将从查询中获取数据,并根据报表的设计执行其内部操作,因此,如果您需要与查看报表完全相同的表,则需要在Crystal报表中进行查询,同时进行一些更改 建议: 您的报表只有6列,但您的查询有10多列,因此需要更改查询,使其只有6列 报表有按周计算的数据,但查询有小时数据,因此您需要在查询中编写一些函数,以便从小时数据中获取周数据 您说过,当您获取超过1个给定格式的ID时,那么在这种情况下,向结果查询中添加一些GROUPBY条件,以便对所有数据进行分组。例如,如果您只需要一个ID,则按ID分组,以便一个ID只有一条记录 尝试添加一些分组条件和一些日期公式以获得精确的输出