繁体   English   中英

MySQL查询逗号分隔符

[英]Mysql query comma separator

我有两张桌子

table 1: users
| id | username |
|  1 | john |
|  2 | marry |
|  3 | deep |
|  4 | query |
|  5 | value|

table 2:users_2
| table_2_id | user_id |
|      1     |  2,4    |

我需要这样的东西

| table_2_id | username |
|      1     |  marry,query    |

任何人都可以帮助我在mysql中的此输出

这是你在找什么吗?

select
`users_2`.`table_2_id` , GROUP_CONCAT(`users`.`username`) as `usernames`
from `users_2`
inner join `users` on  FIND_IN_SET(`users`.`id`,`users_2`.`user_id`)

在这里检查输出

http://sqlfiddle.com/#!2/c498bc/3

select a.table_2_id,b.username
from users b,users_2 a
where a.table_2_id=b.id
and b.id in(a.user_id)
group by a.table_2_id

首先,您不应在一个字段中存储多个值。 对于表users_2 ,数据应为:

table_2_id  user_id
1           2
1           4

标准化表格后,可以使用mysql GROUP_CONCAT()以您提到的格式获取结果

SELECT
    users_2.table_2_id,
    GROUP_CONCAT(users.username) AS username
FROM
    users_2
JOIN
    users ON users.id = users_2.user_id
GROUP BY
    users_2.table_2_id
;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM