我正在使用 SQLITE 编写应用程序。
其中一个表是用户,其中包含 user_id 和其他字段作为名称,电子邮件等。另一个表是 groups with a字段 group_id 和其他字段作为组名称。
然后我创建了一个表 users_groups ,指定哪些用户属于哪些组,在此表中我们有 user_id 和 group_id 。
我可以轻松地搜索例如用户4所在的组。
SELECT * FROM users_groups WHERE user_id = 4
结果将是第1,2和6组,这是正确的。
我无法做的是进行查询,在其中我获得用户不的一部分。如果我进行以下查询:
SELECT * FROM users_groups WHERE user_id<> 4
结果将是第1组和第3组,这是不正确的,因为用户4实际上也是第1组的一部分。
我一直在尝试JOIN,WHERE,HAVING等......但没有成功!!
有什么建议吗?
谢谢!
答案 0 :(得分:0)
当用户不是某个组的成员时,该组ID可能根本不会显示在@Pipe({
name: 'filterPipe',
pure: false
})
export class FilterPipe implements PipeTransform {
transform(value: any, args?: any[]): any {
return value.filter(item => {
return args.length ? args.indexOf(item.name) != -1 : value;
})
}
}
表中,因此您不能仅在此表上使用简单的SELECT。
此查询返回用户的组ID:
users_groups
此查询返回所有其他组:
SELECT group_id
FROM users_groups
WHERE user_id = 4;