这是我的情况:
表一包含一组使用 id 作为唯一标识符的数据。该表与大约 6 个其他表具有一对多关系。
给定 Id 为 001 的表 1:表 2 可能有 3 行外键:001 表 3 可能有 12 行外键:001 表 4 可能有 0 行外键:001 表 5 可能有 28 行外键: 001
我需要编写一份报告,列出指定时间范围内表 1 中的所有行,然后是引用它的少数表中包含的所有数据。
我当前的伪代码方法如下所示:
select * from table 1
foreach(result) {
print result;
select * from table 2 where id = result.id;
foreach(result2) {
print result2;
}
select * from table 3 where id = result.id
foreach(result3) {
print result3;
}
//continued for each table
}
这意味着单个报告可以在 1000 个查询附近运行。我知道这太过分了,但是我的 sql-fu 有点弱,我可以使用一些帮助。