gpt4 book ai didi

php - 使用 PHP 或 SQL 获取两个具有选定字段值的 mysql 表中的不同元素

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

假设SQL中有两个表,它们的值几乎相同,其中第一个表可以被视为完整数据,第二个表具有选择性数据。我需要获取第一个表中不属于第二个表的数据。但在这里我需要比较两个表中的选择性行。例如,假设有两个表

total_students (s_id, s_name, s_class) 
failed_students (s_id, s_name, s_class)

我需要获取的只是特定类(class)的学生表中但不在 failed_student 中的学生列表。

我尝试在两个表中的参数化选择查询的结果上使用array_diff(),但不能,因为结果是对象形式。此外,对于这样的逻辑,我将不得不触发多个查询。

还尝试按照建议使用 sql 解决相同问题 here使用以下查询

SELECT * 
FROM total_students
LEFT OUTER JOIN failed_students ON total_students.s_id = failed_students.s_id
WHERE total_students.s_id IS NULL
AND total_students.s_class = "fourth";

但这也没有帮助。

请建议一种使用 PHP 或 SQL(首选)有效实现它的方法。

最佳答案

Oracle MINUS 采用 2 个数据集并给出差异。

SELECT s_id,s_name,s_class FROM total_students where total_students.s_class="fourth"
MINUS
SELECT s_id,s_name,s_class FROM failed_students where failed_students.s_class="fourth"

还有另一种方式。您想要检查 failed_students ID 是否为空(假设这是一个键)

SELECT * 
FROM total_students
LEFT OUTER JOIN failed_students
ON total_students.s_id = failed_students.s_id
WHERE failed_students.s_id IS NULL AND total_students.s_class="fourth";

关于php - 使用 PHP 或 SQL 获取两个具有选定字段值的 mysql 表中的不同元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48207686/

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