列を共有する2つの異なるテーブルがありますが、両方とも行の量が異なります。表の 1 つは金銭請求用 (表 1) で、もう 1 つは経費証明用 (表 2) です。
表1
+-----------+-----------+
|expenseid | requestid |
+-----------+-----------+
| 16333 | 7454 |
| NULL | 7455 |
| 16336 | 7456 |
| 16338 | 7457 |
| NULL | 7458 |
| 16341 | 7459 |
| 16345 | 7460 |
| NULL | 7461 |
| NULL | 7462 |
+-----------+-----------+
表 2
+-----------+-----------+
|expenseid | amount |
+-----------+-----------+
| 16333 | 200 |
| 16334 | 150 |
| 16335 | 300 |
| 16336 | 900 |
| 16337 | 100 |
| 16338 | 120 |
| 16339 | 700 |
| 16340 | 431 |
| 16341 | 420 |
| 16342 | 150 |
| 16343 | 240 |
| 16344 | 465 |
| 16345 | 200 |
| 16346 | 120 |
| 16347 | 90 |
| 16348 | 50 |
| 16349 | 245 |
+-----------+-----------+
ご覧のとおり、テーブルは同じ列「expenseid」を共有していますが、行の量が異なり、互いに対応していない2つの異なる列があります。次のようなテーブルが必要です
複合テーブル
+-----------+-----------+-----------+
|expenseid | amount | requestid |
+-----------+-----------+-----------+
| 16333 | 200 | 7454 |
| NULL | NULL | 7455 |
| 16334 | 150 | NULL |
| 16335 | 300 | NULL |
| 16336 | 900 | 7456 |
| 16337 | 100 | NULL |
| 16338 | 120 | 7457 |
| NULL | NULL | 7458 |
| 16339 | 700 | NULL |
| 16340 | 431 | NULL |
| 16341 | 420 | 7459 |
| 16342 | 150 | NULL |
| 16343 | 240 | NULL |
| 16344 | 465 | NULL |
| 16345 | 200 | 7460 |
| NULL | NULL | 7461 |
| NULL | NULL | 7462 |
| 16346 | 120 | NULL |
| 16347 | 90 | NULL |
| 16348 | 50 | NULL |
| 16349 | 245 | NULL |
+-----------+-----------+-----------+
左外部結合を使用して、テーブル 1 に関連するexpenseid の null 値を表示する方法で両方のテーブルをマージすることができましたが、列 requestid の null 値は表示されません。これを行う方法についてのアイデアはありますか?