如何从mysql中获取多个ID相关值[重复]

Posted

技术标签:

【中文标题】如何从mysql中获取多个ID相关值[重复]【英文标题】:How To Get Mulitple ID related value from mysql [duplicate] 【发布时间】:2021-03-16 04:02:46 【问题描述】:

我的第一个表名是用户,这个表包含用户喜欢的产品

用户

id username products
1  abc       2,3,4
2  cde       1,2

另一表 products 包含相关产品列表

id products
1   pro1
2   pro2
3   pro3
4   pro4

现在我想显示用户包含的产品,但不显示产品 ID。输出之类的,

abc pro2,pro3,pro4

【问题讨论】:

请不要将 CSV 存储在您的 SQL 表中。 你不应该在一列中存储逗号分隔的值请阅读this 【参考方案1】:

选择你的用户名, GROUP_CONCAT(p.products ORDER BY p.id) products_list 来自用户 INNER JOIN 产品 p ON FIND_IN_SET(p.id, u.products) > 0 按 u.id 分组;

SQLFiddle Demo

【讨论】:

以上是关于如何从mysql中获取多个ID相关值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用会话ID从php mysql中的两个或多个表中获取值

如何从mysql列中存在的所有行中删除重复值[duplicate]

MySQL插入,如何从插入中获取增量ID [重复]

Mysql连接多个表和列重复[关闭]

如何根据 Id 从多个表中获取值并根据 id 创建新表

如何从单个 MySQL 查询中获取 Parent 的所有子记录 [重复]