来自多个表+ IN LIST的SQL SELECT

时间:2014-06-16 23:31:33

标签: mysql sql select

如何获得文章中所有作者的所有文章+名称(不同于文章)

Users table :
ID NAME FNAME
1  A    AA
2  B    BB
3  C    CC
4  D    DD

Articles
ID AUTHOR title
1  1,3    ty
2  4      tz

Results
A.id A.title USER1_name USER2_name
1    ty      A          C
2    tz      D          no user

它的工作表示感谢,有没有办法让一个用户列而不是两个像这样:

ID  TITLE NAME
1   ty    A,C
2   yy    B,C,E

因为有时候我们有7位作者:/

3 个答案:

答案 0 :(得分:0)

试试这个

SELECT A.id, A.title, A.name
FROM USERS U, ARTICLES A
WHERE U.id in (A.author)

答案 1 :(得分:0)

假设每篇文章最多2位作者

select a.id, a.title, b.u1, b.u2
from articles a
join (
  select if(a.id=b.id,a.id,concat(a.id,',',b.id)) author, a.name u1, if(a.id=b.id,'no user',b.name) u2
  from users a
  join users b) b on a.author = b.author;

demo

答案 2 :(得分:0)

使用mysql的concat()将用户名组合在一列中。

相关问题