gpt4 book ai didi

mysql - 无法在查询中获得正确的记录 - php mysql

转载 作者:行者123 更新时间:2023-11-29 00:52:32 24 4
gpt4 key购买 nike

我正在运行以下查询。

SELECT * 
FROM exam, result
WHERE exam.home = result.external_id
AND exam.away != result.external_id;

exam 表中的记录:

home   away
51156 8
51158 7
51158 51182

result 表中的记录:

external_id
51156
51158
51182

在正常情况下,应该获取前两条记录。现在,当我独立使用 '!=' 时,它可以毫无问题地执行。意思是,当我执行

SELECT * FROM exam, result WHERE exam.away != result.external_id

它被正确执行。这是结果。

home   away
51156 8
51158 7

但是,在我上面提到的错误查询中,输出如下:

id  home   away
111 51156 8
100 51158 7
123 51158 51182

它被认为是最后一行,尽管它不应该被计算在内。谁能告诉我为什么?或者查询的任何替代方法?

最佳答案

据我了解,您要查找的记录在表 result 中的 away 列上没有 id。

如果是这样,那么此查询将产生您想要的结果:

SELECT *
FROM exam
WHERE home IN (SELECT external_id FROM result)
AND away NOT IN (SELECT external_id FROM result)

关于mysql - 无法在查询中获得正确的记录 - php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777730/

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