php - MySQL - 将其他表中的多行作为数组加入
问题描述
我无法弄清楚如何从第二个表中连接多行。我尝试过使用GROUP_CONCAT
,但我想将它们显示为一个数组(见下图中的绿色框)
这里的主要问题是1,2,4
来自airways-column。我真的想避免有第三张表只是为了将两个表连接在一起。我知道数组很难存储在 MySQL 中,但是有没有一些神奇的方法可以从下表中获取所需的信息?
我希望我有一些代码,但我在这里迷路了。非常感谢指点!
解决方案
您实际上可以做的是,使用FIND_IN_SET
. 下面给出一个简单的查询:
SELECT c.name AS city_name, a.name AS airway_name, a.rating AS airway_rating
FROM og_city AS c JOIN og_airway AS a ON FIND_IN_SET(a.id, c.airways) WHERE c.id = 2
在这里,您将 id 作为 2 传递,这将有助于选择飞往曼谷的航班(og_city,Bangkok id 为 2)。此查询将输出:
然后可以使用将其转换为 JSON(作为您想要的输出)json_encode
推荐阅读
- javascript - 如何检测 WaveSurfer.js 中自动播放何时失败?
- javascript - 访问 JSP 隐藏标签中的 javascript 值
- vba - 如何在 10 秒后自动停止运行的 Sub
- excel - 有没有办法通过宏更新Excel中的查询连接文件名?
- python - BST 层序遍历
- node.js - 如何从数据库中获取数据?
- django - 获取每日调用API数
- swift - 使用从另一个协议继承或使用 where Self 声明 swift 协议时的区别
- android - 使用 Firebase 身份验证的 Google 登录失败
- python - 统计汇总表不适用于滑块