我想创建一个小型房间组织工具,因此我有一个名为“房间”的表格:
+---------+-------------+-------------+
| room_id | room_name | information |
+---------+-------------+-------------+
| 1 | 101 | single room |
| 2 | 102 | single room |
| 3 | 103 | single room |
| 4 | 108 | single room |
| 5 | 101&102 | linked room |
| 6 | 101&102&103 | linked room |
+---------+-------------+-------------+
在这张桌子上,我有单人间和相连的房间。
单人房:可以是链接房间的一部分,但不一定是这样。
链接房间:将两个单人房间连接在一起,例如:room_id 5连接到rooom_id 1和2。
这就是我要努力解决的问题。我怎样才能把所有的房间都连接起来呢。
例如:我选择房间3。现在,输出应该是room_id 1、2、3、5和6的行。
因为:3是链接房间6的一部分。
6是一个由1、2和3组成的连接房间。
1和2是链接房间5的一部分。
对于链接,我创建了另一个名为room_links的表(如果没有额外的表,还有其他方法可以实现,那就完全可以了,但这似乎是对我来说最好的方法):
+---------+----------------+
| room_id | linked_room_id |
+---------+----------------+
| 5 | 1 |
| 5 | 2 |
| 6 | 1 |
| 6 | 2 |
| 6 | 3 |
+---------+----------------+
有人能告诉我一个问题来读出我需要的信息吗?还是给我一点思考的食物?我是MySQL的新手。