MYSql如果找到其他用户,请选择用户

时间:2016-08-22 19:01:20

标签: mysql

我有一个像

这样的查询
SELECT 
    pf.id, pf.forwhom, pf.body,
    u.firstname, u.lastname, u.email

FROM prayerfeed pf 
    JOIN users u ON pf.user_id=u.id

WHERE pf.id=100;

这将返回我想要的Feed项目pf以及发布该项目的用户。

我还需要的是响应该Feed项的用户名,我知道他们的ID,我们称之为2.

这不起作用,但它可以解释我需要什么。

SELECT 
    pf.id, pf.forwhom, pf.body,
    u.firstname, u.lastname, u.email,
    ru.firstname, ru.lastname
FROM prayerfeed pf 
    JOIN users u ON pf.user_id=u.id
    SELECT FROM users ru WHERE id=2 
WHERE pf.id=834;

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要额外的JOIN

SELECT 
    pf.id, pf.forwhom, pf.body,
    u.firstname, u.lastname, u.email,
    u2.firstname, u2.lastname, u2.email

FROM prayerfeed pf 
    JOIN users u ON pf.user_id=u.id

    JOIN users u2 ON u2.id = 2

WHERE pf.id=100;

您可以使用ON子句过滤响应Feed项的用户,使用已知的id值。