1

所以我有一个叫做 members 的表和另一个叫做 group 的表。组的领导也是成员

要检索不是领导者的成员,我执行了以下代码:

SELECT first_name, last_name, rank
FROM members
EXCEPT ALL
SELECT first_name, last_name, rank
FROM members INNER JOIN groups ON mid=leader;  --edited gid as mid 

在 MySQL 中执行此操作会给我一个语法错误。我应该在 MySQL 中使用什么 EXCEPT ALL?

4

3 回答 3

2
SELECT first_name, last_name, rank
FROM members 
LEFT OUTER JOIN groups ON gid=leader
WHERE leader is null

不确定是否leadergid是否在groups表中。表中的列groups必须在子句中进行null检查。where

于 2012-10-22T21:11:48.410 回答
1

子查询可能会这样做,例如:

SELECT first_name, last_name, rank
FROM members
WHERE id NOT IN (
  SELECT leader
  FROM groups 
  WHERE leader = members.id
)

我们需要了解您的表结构以进一步帮助您

于 2012-10-22T21:26:01.847 回答
0

您可以尝试这种情况。

SELECT 
        r.col1,r.col2 
FROM    tabel1 r 
WHERE ROW ( r.col1,r.col2 ) NOT IN( 
                              SELECT 
                                  col1,col2 
                              FROM tabel2 
                              );
于 2018-01-18T07:21:28.203 回答