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

stephen · August 15, 2014 · Last by kepaning replied at August 15, 2014 · 1619 hits
表     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

You need to Sign in before reply, if you don't have an account, please Sign up first.