Mysql SQL:如何使用逗号值连接另一个表?
表Mysql SQL:如何使用逗号值连接另一个表?,mysql,sql,Mysql,Sql,表A: id username like_books ----------------------- 1 Peter 1,2,3 2 John 1,2 表B: id book_name ----------------------- 1 Legend 2 StackOverFlow 3 Google 现在,, 是否有任何sql语句可以显示如下输出: 输出: id username like_books -----------------
A
:
id username like_books
-----------------------
1 Peter 1,2,3
2 John 1,2
表B
:
id book_name
-----------------------
1 Legend
2 StackOverFlow
3 Google
现在,,
是否有任何sql语句可以显示如下输出:
输出:
id username like_books
------------------------------------
1 Peter Legend,StackOverFlow,Google
2 John Legend,StackOverFlow
谢谢。试试这个:
SELECT a.id,a.username,
GROUP_CONCAT(b.book_name ORDER BY b.id) like_books
FROM A a
INNER JOIN B b ON FIND_IN_SET(b.id, a.like_books) > 0
GROUP BY a.id
@RahulTripathi MySQLTableA:books列类型是什么样的?您通常不会在数据库字段中使用逗号分隔的列表来连接到另一个数据库字段。每个字段中的许多值都会打破这个界限。合理的数据库设计通常会取代它ễ新罕布什尔州ả工研院ều VARCHAR(30)@sirsince1990哦…我的问题是重复的…SQL中的查询是什么?谢谢,这是工作。但是有没有更好的方法来设计数据库和模式呢?正如@9000所说的。@隐喻:-这只是SQL,它将在MySQL数据库中工作。@Rahultripati,但是,我在SQL 2012中遇到了错误。没有什么比SQL 2012更好的了。您可能正在尝试使用SQL Server…对吗?