php - 复杂的 Mysql 数据库连接

标签 php mysql join

我正在使用旧数据库创建一个新系统,需要一些帮助(因为缺乏经验) 这可能过于复杂,但这就是数据库的设置方式,我无法更改它。

有 3 个表。第 1 节、第 2 节和注册者。

Session 1 和 Session 2 除了内容不同外,其他都是一样的。所以它是如何工作的,如果一个人想在特定的一天预订 session 1 和 session 2,数据库将在 session 1 和 session 2 的“id”行中插入说“5”。 'id' 是主索引。

“注册人”中有 2 行,其中包含一个列表(例如 5、6、7),其中包含注册人姓名以及在 session 1 和 session 2 中找到的一些 ID。因此,如果您想知道为 session 1 预订的人, session 的 ID 将在注册者 session 1 列表中。

就像我说的。复杂的。

我可以毫不费力地进行单独的查询

SELECT * FROM Session_1 WHERE id IN ($registrant_session_1 /* This is a single quote implode for the ouput of registrant_session_1 */ )"

SELECT * FROM Session_2 WHERE id IN ($registrant_session_2 /* This is a single quote implode for the ouput of registrant_session_2 */)

我需要帮助来创建连接它们以同时输出的查询。所以理论是我首先进行 session 检查,然后根据 id 加入它们。

最佳答案

也许你可以使用“union”子句 FROM Session_1 WHERE Session_1.id IN ($registrant_session_1/* 这是 registrant_session_1 输出的单引号内爆 */) UNION (SELECT * FROM Session_2 WHERE Session_2.id IN ($registrant_session_2/* 这是单引号对 registrant_session_2 的输出进行内爆 */)

关于php - 复杂的 Mysql 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901949/

相关文章:

php - 如何在后端验证谷歌登录

php - 找到内存限制和(upload_max_filesize & post_max_size)的最佳平衡

php - 无法启动服务Web : OCI runtime create failed:

php - 检查预订系统中的空闲时段

php - 如何根据开始时间和持续时间计算结束时间?

mysql - JDBC 交互连接

mysql - mysql删除重复项(两个参数)

具有空值的多个字段的 SQL 联接

python - SQLAlchemy 中的过滤关系

php - Mysql - 避免Cross Join不获取多个重复数据