[英]request SQL 2 Left outer join
您应该两次离开用户,例如:
select a.userId, a.Idfriend, b.username as username, c.username as friendname
from friends a
left join user b on b.id = a.userId
left join user c on c.id = a.idfriend
如果我理解正确,那么您正在尝试通过一个查询获取userId和friendId的数据吗? 我认为这必须对您有用,但是您需要对其进行测试
第一种方式:
SELECT user.*, friend.* FROM users
LEFT JOIN users as user ON user.id=23
LEFT JOIN users as friend ON friend.id=34
LIMIT 1
使用UNION的第二种方式:
(SELECT user.*, friend.* FROM users as user
LEFT JOIN users as friend ON friend.id=23
WHERE user.id=34 OR user.id IS NULL)
UNION
(SELECT user.*, friend.* FROM users as user
RIGHT JOIN users as friend ON friend.id=34
WHERE user.id=23 OR user.id IS NULL)
另一种方法(如果WHERE子句为null,则冒着返回空的风险):
SELECT user.*, friend.* FROM users as user
JOIN users as friend ON friend.id=34
WHERE user.id=23
我希望这能帮到您
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.