我有三个表分类,电影和RelCatMov
分类表
categoryid, categoryName
1 thriller
2 supsense
3 romantic
4 action
5 sci-fi
Run Code Online (Sandbox Code Playgroud)
电影表
movieid, movieName
1 Avataar
2 Titanic
3 NinjaAssassin
Run Code Online (Sandbox Code Playgroud)
RelCatMov表
categoryid, MovieID
1 1
2 2
3 2
4 2
5 2
Run Code Online (Sandbox Code Playgroud)
现在我想显示一条记录
MovieName Categories
Titanic Suspense,Romantic,Sci-fi,action
Run Code Online (Sandbox Code Playgroud)
这该怎么做.
我正在写一个查询
select MovieName,(select categoryname from category b,relcatmov c where b.categoryid=c.categoryid and c.movieid=a.movieid) as categories from movies a;
Error: Subquery returns more than one row!!!
Run Code Online (Sandbox Code Playgroud)
如何在一列中显示行的结果?
请帮忙!!!
Jos*_*tey 11
在Oracle中,它被称为stragg.在MySQL中它是GROUP_CONCAT.
select MovieName,(select GROUP_CONCAT(categoryname) from category b,relcatmov c where b.categoryid=c.categoryid and c.movieid=a.movieid) as categories from movies a;
Run Code Online (Sandbox Code Playgroud)
作为参考,您的问题是MySQL希望您返回单个值,而您将返回多行.
| 归档时间: |
|
| 查看次数: |
9740 次 |
| 最近记录: |