gpt4 book ai didi

mysql - MySQL 中查询的逆结果

转载 作者:行者123 更新时间:2023-11-29 18:36:36 25 4
gpt4 key购买 nike

我在 MySQL 中有三个表。包含字段 idnamesurnametelephoneadress 的人员>id_work

使用字段idname

缺少字段idnameid_staff

我有以下查询

SELECT COUNT(*) 
FROM staff s, work w, absence a
WHERE s.id=a.id_staff
AND s.id_work=w.id
AND w.name='sales manager'
AND a.name='disease'.

上述查询返回担任销售职位且生病的员工。

有没有办法返回相反的结果,即具有销售职位但没有生病的员工?

我将 where 子句更改为不存在但不起作用

最佳答案

切勿FROM子句中使用逗号。 始终使用正确、明确的JOIN语法。

解决此问题的一种方法是使用LEFT JOIN:

SELECT COUNT(*)
FROM staff s JOIN
work w
s.id_work = w.id LEFT JOIN
absence a
ON s.id = a.id_staff AND a.name = 'disease'
WHERE w.name='sales manager' AND a.id_staff IS NULL;

关于mysql - MySQL 中查询的逆结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45239849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com