gpt4 book ai didi

php - MYSQL 单个查询既可以从一个表中检索单行,也可以从另一个表中检索多行作为单个字段

转载 作者:行者123 更新时间:2023-11-29 12:48:27 25 4
gpt4 key购买 nike

我怀疑为这个问题想出一个标题是多么困难,我想知道的是可能的,但根本不可能。但我绝不是 mysql 大师,所以这里是。

我目前正在重写一个我负责维护的应用程序。它本质上是一个预订房间的事件管理系统。一个事件通常会有多个与之关联的房间。

在整个应用程序的不同部分中,必须列出一个事件表(其中包括一列中的房间以及其他事件信息)是很常见的。

目前,应用程序将房间存储为逗号分隔的 ID 号列表,例如。1,5,7 我想对此进行规范化,以帮助解决目前由于这种安排而遇到困难的其他查询。

因此,我使用另一个名为 event_rooms 的表将房间与事件表分开。该表由

id
event_id
room_id

对于事件所在的每个房间,我都会在该表中放入多行。这解决了应用程序中的许多问题,理想情况下我希望保持这样。

因此,谈到我正在尝试解决的问题,是否可以通过单个查询来获取事件表行以及事件所在的所有房间?让我可以简单地创建包含事件列表的事件表。

事件表很简单,基本上

-id
-event_name
-event_date
-notes

这可能吗?或者我是否必须执行多个查询(页面上有 100 多个事件,我希望避免这种情况,因为这意味着每页有 101 个以上的查询。

或者是否有我可能没有考虑过的整体更好的设计选择?我正在使用 PHP,以防您的想法涉及应用程序代码。

最佳答案

我制作了一个 SQL Fiddle,我认为它可以解决您的问题: http://sqlfiddle.com/#!2/71c8d/4

有两个查询:

  • 第一个返回以逗号分隔的房间 ID 列表
  • 第二个返回以逗号分隔的房间号列表,因为我假设您也有一个房间表

但正如 Strawberry 所评论的,这是我推荐的任何基本 mysql 教程中都会涵盖的内容 http://www.w3schools.com/sql/作为一个好的起点。

关于php - MYSQL 单个查询既可以从一个表中检索单行,也可以从另一个表中检索多行作为单个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25100409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com