gpt4 book ai didi

MySQL嵌套查询执行

转载 作者:行者123 更新时间:2023-11-29 03:55:20 27 4
gpt4 key购买 nike

我正在编写一个嵌套的 MySQL 查询,其中子查询返回多行,因此无法执行查询。

谁能建议我解决这个问题?

提前致谢。

最佳答案

有关子查询返回多个值的错误告诉我您正在尝试进行直接值比较,如下所示:

WHERE col = (SELECT col2 FROM TABLE_2)

解决方案取决于来自子查询的数据 - 您是否希望查询使用所有返回的值?如果是,则将等号更改为 IN:

WHERE col IN (SELECT col2 FROM TABLE_2)

否则,您需要更正子查询,使其只返回一个值。 MAX 或 MIN 聚合函数是可能的 - 它们将返回最高或最低值。这可能只是关联子查询的问题:

  FROM TABLE_1 t1
WHERE t1.col = (SELECT MAX(t2.col2)
FROM TABLE_2 t2
WHERE t2.fk_col = t1.id) -- correlated example

正如 Tabhaza 指出的那样,子查询通常不会返回超过一列(尽管某些数据库支持元组匹配),在这种情况下,您需要定义派生表/内联 View 并连接到它。

如果能获得有关您遇到的问题的更多信息...

关于MySQL嵌套查询执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3434718/

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