我循环浏览论坛帖子列表,从2个表格posts
和members
中提取数据。
我正在使用LEFT JOIN
之类的
SELECT m.name, p.title FROM posts LEFT JOIN members m ON p.poster=m.id
一切正常。但我还需要从成员表中提取不同的记录,即p.lastposter
的记录。我该怎么做?我不能添加另一个JOIN,因为我已经拉了一个m.name
并且不会混淆它吗?
答案 0 :(得分:2)
您可以使用其他别名添加其他联接:
SELECT m.name, p.title, lp.name AS lastposter
FROM posts AS p
LEFT JOIN members AS m ON p.poster=m.id
LEFT JOIN members AS lp ON p.lastposter = lp.id
答案 1 :(得分:0)
如果您想要2个不同的rows
,可以使用UNION
:
SELECT m.name, p.title FROM posts LEFT JOIN members m ON p.poster=m.id
UNION
SELECT m.name, p.title FROM posts LEFT JOIN members m ON p.lastposter=m.id
如果您想要row
lastposter
来自SELECT m.name, p.title, lp.name AS lastposter
FROM posts AS p
LEFT JOIN members AS m ON p.poster=m.id
LEFT JOIN members AS lp ON p.lastposter = lp.id
的更多信息,请执行以下操作:
{{1}}
答案 2 :(得分:0)
我无法添加另一个JOIN,因为我已经拉了一个m.name并且不会混淆它吗?
没有
SELECT m.name, p.title, lastpostMembers.name AS lastpostername FROM posts AS p
LEFT JOIN members m ON p.poster=m.id
LEFT JOIN members lastpostMembers ON p.lastposter=lastpostMembers.id
我真的不明白你为什么要离开这里;看起来你真的想要一个内心的联系。