gpt4 book ai didi

mysql - SQL 查询 : Cannot create view due to error #1349 : Help to restructure query

转载 作者:行者123 更新时间:2023-11-30 22:41:56 26 4
gpt4 key购买 nike

我使用的查询选择检查类型“checks”,并在日志文件中查找引用此检查的最新日志条目。

SELECT checks.*, logs.last_completed_on, logs.completed_by
FROM checks INNER JOIN
(
SELECT check_id, MAX(completed_on) AS last_completed_on,
completed_by FROM checks_log GROUP BY check_id
) logs
ON checks.id = logs.check_id

此查询有效,但我需要为其创建一个 View 。这是我第一次使用 View ,所以我对它们了解不多,但我读到这种类型的查询是不可能的...

我的问题是是否有办法以任何方式对其进行重组?

我想另一种解决方案是针对表中每一行的特定检查 ID 调用此查询?虽然这听起来很糟糕……而且速度很慢,但我不确定。

谢谢

最佳答案

MySQL 中的 View 无法处理 from 子句中的子查询。因此,您将需要一些不同的逻辑。

这个版本应该可以工作:

SELECT c.*, cl.completed_on as last_completed_on, cl.completed_by
FROM checks c INNER JOIN
checks_log cl
ON c.check_id = cl.check_id
WHERE cl.completed_on = (SELECT MAX(cl2.completed_on)
FROM checks_log cl2
WHERE cl2.check_id = cl.check_id
);

MySQL 确实允许在 SELECTFROM 子句中使用子查询,所以这应该没问题。

关于mysql - SQL 查询 : Cannot create view due to error #1349 : Help to restructure query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898637/

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