gpt4 book ai didi

php - mySql - 使用逗号分隔值列表创建连接

转载 作者:可可西里 更新时间:2023-11-01 07:01:00 24 4
gpt4 key购买 nike

我有一个表格,其中包含商户名称字段和他们提供的服务字段。 Services 字段是一个逗号分隔的整数列表,它与另一个 Services 表相关,带有 Service id 和 Service Name 字段。

我正在尝试创建一个连接这两个查询的查询,这样我就可以获得商家列表以及服务名称。到目前为止,我的解决方案是在我最初的“foreach”循环中执行第二个循环,但这可能意味着对每个商家名称调用 5 或 6 个数据库。

在使用 StackOverflow(谷歌)之后,我注意到使用逗号分隔的字段可能不是最好的方法。

有没有人有办法进行连接,或者有关于如何更好地设置数据库结构的想法?非常感谢!

最佳答案

您的问题的短期解决方案是使用 FIND_IN_SET function加入 MERCHANT 和 SERVICES 表:

SELECT *
FROM MERCHANT m
JOIN SERVICES s ON FIND_IN_SET(s.service_id, m.services) > 0

长期解决方案是更正您的表格 - 绝不允许列包含以逗号分隔的引用 ID/等值列表。

关于php - mySql - 使用逗号分隔值列表创建连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120580/

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