新手问题 一个多表查询,如何在每行数据中加入一个判断结果?

stephen · 2014年08月15日 · 最后由 kepaning 回复于 2014年08月15日 · 1618 次阅读
表     users   
字段  user_id
表     friendships
字段 user_id, friend_id
表     teams
字段   team_id
表     user_teams
字段   user_id,  team_id 

现在的场景是 A 用户 创建了一个 team 现在想输出 A 用户的所有好友 其中好友列表多了一列数据是否已经是A用户所建的team的成员

最终输出好友数据结构:

user_id,  xxx...,  into_team
1          , xxx...,  true
2          , xxx...,  false

我目前的方法是分别读取出来,再循环判断,再重新组织数据。有其他方法吗?

@shreadline 没用到 redis,是 mysql

这样怎么样 select friendships.friend_id, user_teams.team_id from friendships left join user_teams on friendships.friend_id = user_teams.user_id where friendships.user_id = A.id and user_teams.team_id = that_team.id

出来一张 left join 的表,某些行中 team_id 是空值,就是 into_team false

需要 登录 后方可回复, 如果你还没有账号请 注册新账号