私は今しばらく試してみました。UNIONと偽の(左1つと右1つの結合)完全結合を試しました。私はSQLがあまり得意ではないので、おそらく私は解決策に出くわしましたが、それを正しく行うことができませんでした。
この例では、3つのテーブルがあります(おそらく時間とともにさらに多くのテーブルがあります)。
post:
----------------------------
| type | rel_id | id |
----------------------------
| video | 2 | 51 |
|----------------------------|
| text | 1 | 50 |
----------------------------
video:
----------------------------
| id | video_url | title |
----------------------------
| 2 | ... | ... |
|----------------------------|
| 1 | ... | ... |
----------------------------
text:
----------------
| id | contend |
----------------
| 2 | ... |
|----------------|
| 1 | ... |
----------------
ポストテーブルはメインテーブルです。タイプフィールドには、結合するテーブルが表示されます。フィールドrel_idは、接続する行を示します。
私はこのようないくつかの出力を使用することができます:
------------------------------------------
| id | type | video_url | title | contend |
------------------------------------------
| 51 | video | ... | ... | NULL |
|------------------------------------------|
| 50 | text | NULL | NULL | ... |
------------------------------------------
最後の問題は、すべての結果を検索するために使用できるように、最後のWHERE句を空ける必要があることです。