これが私の状況です:
表 1 には、ID を一意の識別子として使用する一連のデータが含まれています。このテーブルには、そのような他の約 6 つのテーブルとの 1 対多の関係があります。
テーブル 1 の ID が 001 の場合: テーブル 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
}
これは、1 つのレポートを 1000 クエリの近隣で実行できることを意味します。これが過剰であることはわかっていますが、私の sql-fu は少し弱く、助けが必要です。