所以我有一个名为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?
答案 0 :(得分:2)
SELECT first_name, last_name, rank
FROM members
LEFT OUTER JOIN groups ON gid=leader
WHERE leader is null
不确定leader
表中是否有gid
或groups
。 groups
表中的列必须在null
子句中进行where
检查。
答案 1 :(得分:1)
子查询可以这样做,例如:
SELECT first_name, last_name, rank
FROM members
WHERE id NOT IN (
SELECT leader
FROM groups
WHERE leader = members.id
)
我们需要了解您的表格结构以帮助您进一步
答案 2 :(得分:0)
您可以尝试使用此方案。
SELECT
r.col1,r.col2
FROM tabel1 r
WHERE ROW ( r.col1,r.col2 ) NOT IN(
SELECT
col1,col2
FROM tabel2
);