gpt4 book ai didi

php - 棘手的 MySQL 查询涉及 NOT IN

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

我将两个表连接在一起以获得结果。一个表包含具有唯一 ID(评估)的评估列表,而另一个表(staff_to_assessments)包含分配给工作人员的评估列表。此表的示例记录将包含员工唯一 ID 和分配唯一 ID。这表明用户已链接到作业。

我写了一个函数,它只从评估表中获取评估,而这些评估尚未分配给 staff_to_assessment 表中的工作人员。这是为了在前端填充一个下拉框,如果需要,可以将这些剩余的评估分配给工作人员,因此我不想显示任何已经分配的。

MySQL查询如下:

    SELECT * FROM assessments a 
LEFT JOIN staff_to_assessment s2a ON a.assessment_id = s2a.assessment_id
WHERE a.assessment_id NOT IN
(SELECT assessment_id FROM staff_to_assessment WHERE staff_id = '" . (int)$options['staffId'] . "')";

这似乎没有生成我需要的响应。谁能看到我哪里出错了?谢谢!!

最佳答案

我认为您的查询太费力了。您只需要找到与 left outer join 不匹配的行:

SELECT a.*
FROM assessments a LEFT JOIN
staff_to_assessment s2a
ON a.assessment_id = s2a.assessment_id
WHERE s2a.assessment_id is null;

您不需要同时使用 left joinnot in 子句。

关于php - 棘手的 MySQL 查询涉及 NOT IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18189101/

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