哪里不等于子串数组

时间:2015-10-02 21:28:10

标签: mysql sql

所以我有两个表,一个叫做cmdr_group,另一个叫做groupUser。我试图得到这个用户不在的所有组的列表,这被证明是相当困难的。 GroupUser每个组都有多个用户,每个用户都有自己的ID。

现在我理解为什么这个查询不会起作用,但我会把它放在这里来展示我的思考过程。

SELECT t1.*, t2.userID
FROM cmdr_group t1
LEFT JOIN groupUser t2 ON t2.groupID = t1.ID
WHERE t1.ID != (SELECT groupID FROM groupUser WHERE userID=90792652);

如果您需要有关表中内容的任何信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

现在我想我明白了。我会使用not inselect g.* from cmdr_group g where not exists (select 1 from groupuser gu where gu.userID = 90792652 and gu.groupId = g.Id );

来解决这个问题
not exists

此查询基本上遵循您的问题。整个查询将获取所有组。 Microsoft.Ace.OleDb只是检查用户是否在该组中。