我有一个名为'groups'的表和一个名为'subscriptions'的另一个表。我想返回用户没有订阅的所有组。查询不在mysql中
基本上这就是我要否定条件(假设为ID = 1的用户,状态只是如果组被激活校验或不):
SELECT *
FROM groups g
LEFT
JOIN subscriptions s
ON s.groups = g.id
WHERE g.status = 1
AND s.user = 1
此查询选择所有的组用户订阅的地方,但我需要那些他没有订阅的地方。我的问题是,当他没有订阅时,没有与该用户相关的表格,所以如果我使用类似于!=的东西,它会返回一些我不需要的东西。
我以为使用NOT IN或NOT EXISTS,但我无法让它工作。
你们有快速和高性能的解决方案吗? 非常感谢您
记录添加一些示例表数据和预期的结果 - 作为格式化文本(而不是图像) – jarlh