gpt4 book ai didi

mysql - 如何重用 MySQL Workbench 中的表?

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

我阅读了类似问题的解决方案,但它似乎不适用于我的情况,我尝试过:

WITH tmp AS
( (things below is just an **example** to show that it will return a table)
SELECT
*clounmname* FROM *tablename*
WHERE *XXXX*
)
SELECT *columnname* FROM tmp;

但是我的mysql工作台说一开始的WITH被误用了..我还尝试添加一个 ;之前WITH,但它仍然不起作用..

所以我尝试了:

SELECT *columnname* FROM 
( (things below is just an **example** to show that it will return a table)
SELECT
*clounmname* FROM *tablename*
WHERE *XXXX*
);

它运行没有错误,但没有返回任何内容..所以我不知道该怎么办,是不是mysql workbench有问题?

(我的Mysql工作台的版本号是6.2 for Ubuntu 14.04)(上面的查询只是一个例子,我知道 AND 和其他东西。)

我什至尝试过:

CREATE TABLE temp
SELECT *columnname* FROM
( (things below is just an **example** to show that it will return a table)
SELECT
*clounmname* FROM *tablename*
WHERE *XXXX*
);
SELECT *columnname* FROM temp;

但是没有任何错误返回

最佳答案

您使用的查询称为公用表表达式 (CTE)。截至目前,MySQL 中尚不支持 CTE。替代解决方案是使用临时表内联 View

因此,您发布的 CTE 查询可以使用内联 View 进行修改,如下所示。从内部查询返回的结果集将被视为临时结果集/ View 。

select * from
(
SELECT *clounmname*
FROM *tablename*
WHERE *XXXX*
) tab

如果内部查询的结果将被多次使用,则考虑将其放入临时表中,然后使用该临时表,如下所示

create temporary table mytab (*clounmname* datatype);

insert into mytab
SELECT *clounmname*
FROM *tablename*
WHERE *XXXX*;

select * from mytab;

确保临时表中列的datatype与选择列表中列的datatype相同。

关于mysql - 如何重用 MySQL Workbench 中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26142587/

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