mysql选择其他表中不存在的所有记录

eoxn13cs  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(324)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

10个月前关门了。
改进这个问题
我有三张table:
用户(id\u user)
成就(id\U成就)
用户\成就(id \用户,id \成就)
我需要帮助选择每个成就,用户尚未完成。

6rqinv9w

6rqinv9w1#

考虑 cross join 生成用户和成就的所有组合,以及 not exists 具有相关子查询的条件,以筛选出已完成的子查询:

select u.id_user, a.id_achievement
from users u
cross join achievements a
where not exists (
    select 1 
    from user_achievements ua 
    where ua.id_user = u.id_user and ua.id_achievement = a.id_achievement
)

相关问题