我有表“battle_user”管理战斗和用户表之间的关系
表“battle_user”结构:
battle_id user_id
1111 1
1111 2
22 1
22 3
3 2
3 3
如何重新命名与特定用户竞争的“user_id”列表, 比如用户ID的返回列表与user_id = 1
的战斗结果应为:
user_id
2
3
答案 0 :(得分:1)
SELECT distinct(user_id) FROM battle_user
WHERE battle_id IN (select battle_id from battle_user where user_id = 1) and user_id <> 1
答案 1 :(得分:0)
我写了一个查询:
select distinct(b.user_id)
from battle_user b
inner join battle_user b2 on b.battle_id = b2.battle_id and b2.user_id = 10
where b.user_id <> 10
答案 2 :(得分:0)
你可以这样做
select
b1.user_id from battle_user b1
where b1.user_id<>1
and exists (
select 1 from battle_user b2
where
b2.battle_id = b1.battle_id
and b2.user_id = 1
);