条件查询mysql

时间:2010-10-19 15:13:19

标签: mysql conditional

我有这个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 |        |
抱歉我的英语不好。

2 个答案:

答案 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可以获得右表中没有匹配项的字段。