我有两张类似于下面的表格。表1列出了产品的每个工作小时数及其工作日期。它们按ID排序,按照将小时输入数据库的顺序应用。表2包含一个列表,该列表将小时分组到与批准小时的日期相关的记录中,这并不总是它们最初工作的日期。如目标所示,我希望能够将两个表链接在一起,而我们只能想到如何做到这一点就是将名称和sumOfHRS从表1链接到表2,但是,我是我不确定如何对数据进行分组以获得所需的结果。我非常感谢任何帮助完成这项任务,因为我还不确定如何解决这个问题。
$query = Risks::find()->distinct()->joinWith(['solutions']);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => array('pageSize' => 5),
]);
我设法做的最好的事情如下:
Table 1:
ID Name Date HRS
1 a 7/14 1
2 a 7/14 4
3 a 7/14 2
4 a 7/14 4
5 a 7/15 5
Table 2:
Name HRS_TOT APPROVE_DATE
a 7 7/14
a 9 7/15
Goal:
Name HRS_TOT APPROVE_DATE HRS Date
a 7 7/14 1 7/14
a 7 7/14 4 7/14
a 7 7/14 2 7/14
a 9 7/15 4 7/14
a 9 7/15 5 7/15
但问题是我无法弄清楚如何按表2上的批准日期对table1进行分组
我唯一的另一个想法是,因为HRS按ID顺序排列,如果在达到HRS_TOT之前可能有一个运行总和,那么它可以按这样分组:即:1 + 4 + 2 = 7,所以对表2的记录1进行分组,然后4 + 5 = 9,这是表2记录2的总和。