我需要查询帮助。任务是获取一个表的行,其数量将汇总为另一个表中的值,反之亦然。
示例说明:
Table 1: Table2:
r_id | r_date | r_amt p_id | p_date | p_amt
---------+-------------+-------- ---------+-------------+--------
1 | 2/23/2012 | 200 1 | 3/22/2012 | 450
---------+-------------+-------- ---------+-------------+--------
2 | 3/21/2012 | 100 2 | 5/25/2012 | 530
---------+-------------+-------- ---------+-------------+--------
3 | 4/12/2012 | 300 3 | 5/26/2012 | 700
---------+-------------+-------- ---------+-------------+--------
4 | 4/18/2012 | 250 4 | 5/26/2012 | 40
---------+-------------+-------- ---------+-------------+--------
5 | 5/20/2012 | 130
---------+-------------+--------
6 | 5/21/2012 | 740
---------+-------------+--------
现在这些测试数据是这样的,表1的几行加起来会变成表2的一行,反之亦然。
我想要一个查询来分析上述数据,使一个表中的记录总和等于另一个表中的一行。
分析完成后,它应该将数据提供给这样的新表。
让我们称这个表match
m_id | tbl1 | tbl2 | match_type
---------+-------------+----------+-----------
1 | 1,4 | 1 | n-1
---------+-------------+----------+-----------
1 | 2,3,5 | 2 | n-1
---------+-------------+----------+-----------
1 | 6 | 3,4 | 1-n
---------+-------------+----------+-----------
现在,我正在计算每个表的总和并输入一个临时表,然后与该表进行比较以获得上述结果。但是对于超过 10 行,查询变得非常慢并且挂起我的开发服务器。
Link to my test Queries
执行此任务的有效方法是什么?