建物ごとに過去 5 年間の複数のトランザクションを含む 3 つのテーブルがあります。テーブルは建物レベルにあり、キーとしても機能する建物ごとに一意の building_code があります。
テーブルは、経費、収益、および貸借対照表です。これらのテーブルは、追加の外部キー Fund_code、function_code、object_code、recipe_code にもリンクされています。これは、3 つの間の多対多の関係です。テーブル デザインの例を以下に示します。
**Sample data**
Revenue_table:
building_code - 1234, 1234, 1235
function_code – 01, 02, 02
fund_code - 001, 001, 002
receipt_code – 11, 11, 12
Expense_table:
building_code - 1234, 1234, 1334
function_code – 01, 02, 02
fund_code - 001, 001, 002
object_code – 111, 111, 112
receipt_code – 11, 11, 12
Balance_table:
building_code - 1234, 1234, 1240
fund_code - 001, 001, 005
revenue – 2345.00, 456.00, 765.00
**Expected results:**
building_code - 1234, 1234, 1240, 1235, 1334
fund_code – 001, 001, 002, 005, 002
function_code - 01, 02, null, 02, 02
receipt_code – 11, 11, null, null, 12
object_code – 111, 111, null, null, 112
revenue – 2345.00, 456.00, 765.00, null, null
3 つのテーブルすべてをマージして、すべてのトランザクションを保持しながら、3 つのテーブル間で毎年一致するトランザクションを結合し、毎年一致しないトランザクションを保持したいと考えています。