加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2021-04-02 03:15:29 所属栏目:MySql教程 来源:网络整理
导读:我有一张桌子,上面有商家名字和字段,里面有他们提供的服务. “服务”字段是以逗号分隔的整数列表,它与另一个“服务”表相关,并带有“服务ID”和“服务名称”字段. 我正在尝试创建一个连接这两个的单个查询,因此我可以列出商家列表以及服务名称.到目前为止,

我有一张桌子,上面有商家名字和字段,里面有他们提供的服务. “服务”字段是以逗号分隔的整数列表,它与另一个“服务”表相关,并带有“服务ID”和“服务名称”字段.

我正在尝试创建一个连接这两个的单个查询,因此我可以列出商家列表以及服务名称.到目前为止,我的解决方案是在我的初始’foreach’循环中进行第二次循环,但这可能意味着每个商家名称有5或6个db调用.

在一些StackOverflowing(google-ing)之后,我注意到使用逗号分隔字段可能不是最好的方法.

任何人都有办法进行连接,或者想如何更好地设置数据库结构?提前谢谢了!

最佳答案
Merchant
MerchantId   Name
          1   Adams Consulting

Merchant_Services
MerchantId    Service
         1    SEO
         1    Brand Consulting

您实际上可以获得以逗号分隔的列表:

SELECT m.*,GROUP_CONCAT(ms.Service) AS Services
FROM Merchant m
LEFT JOIN Merchant_Serivces ms
ON ms.MerchantId = m.MerchantId
GROUP BY m.MerchantId
ORDER BY m.Name,ms.Service

结果是:

MerchantID  Name              Services
----------  ----------------  --------------------
         1  Adams Consulting  Brand Consulting,SEO

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读