gpt4 book ai didi

mysql - 使用子查询的替代方案 - 无法在 Mysql 中创建 View

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

我创建了一个 View ,它根据计算提取一系列行;使用此脚本(根据这个问题:How to select Range of rows based on field values - MySQL:

select t.*
from curdataEvents t cross join
(select max(revs) as maxrev from curdataEvents) x
where t.revs >= x.maxrev - 100000;

这会拉出我需要的行范围。为了获得所需的报告 - 我必须创建多个 View ,每个 View 创建报告的下一层。问题是 MySQL 不会使用子查询创建 View 。关于如何重写上面的脚本以产生相同的结果但允许我创建 View 的任何想法?我已经尝试使用 UNION 子句等多种变体。让我困惑的是这是一个自身的连接。到目前为止我发现的使用多个表的示例。任何帮助是极大的赞赏!!!

谢谢

最佳答案

您可以使用子查询,但不能在 FROM 子句中使用。只需将其移至 WHERE 子句即可;

CREATE VIEW view1 AS 
SELECT t.*
FROM curdataEvents t
WHERE t.revs >= (SELECT MAX(revs) - 100000 AS maxrev FROM curdataEvents)

An SQLfiddle to test with .

关于mysql - 使用子查询的替代方案 - 无法在 Mysql 中创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597807/

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