我有这个mysql架构:
comments:
-----------------------------
|id|pageid|userid|
members:
-----------------------------
|username|userid|
有时来自评论的用户ID是空白的,导致匿名评论。 如果来自评论的用户标识不是空白,我如何从成员获取用户名。
我需要得到这样的东西:
---------------------------
|id|pageid|userid|username|
---------------------------
编辑。我想尝试更具体。
comments:
----------------------------------
|id|pageid|userid|comment |
----------------------------------
|1 |1 |1 | hi |
----------------------------------
|2 |1 | | annon comment |
members:
-----------------------------
|username|userid |
-----------------------------
|john |1 |
那是一个示例数据,现在我需要得到这样的东西:
-------------------------------------------
|id|pageid|userid|comment |username|
-------------------------------------------
|1 |1 |1 | hi |john |
-------------------------------------------
|2 |1 | | annon comment | |
抱歉我的英语不好。
答案 0 :(得分:1)
这应该有效:
SELECT c.PageId,c.UserId, m.UserName FROM Members as m
INNER JOIN Comments as c
ON m.UserId = c.UserId
答案 1 :(得分:1)
SELECT c.PageId,c.UserId, m.UserName FROM comments as c
LEFT OUTER JOIN members m ON c.userid = m.userid
LEFT JOIN可以获得右表中没有匹配项的字段。