社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

MySQL选择value并检查它是否在另一列的同一个表中可用,然后再次检查,直到没有新的匹配值

Steffen • 3 年前 • 1175 次点击  

我想创建一个小型房间组织工具,因此我有一个名为“房间”的表格:

+---------+-------------+-------------+
| 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的新手。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133046
 
1175 次点击  
文章 [ 1 ]  |  最新文章 3 年前