gpt4 book ai didi

sql - 子查询是重用变量的唯一选择吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:49 25 4
gpt4 key购买 nike

我想以这种形式使用 MySQL:

SELECT 1 AS one, one*2 AS two

因为它比

SELECT one*2 AS two FROM ( SELECT 1 AS one ) AS sub1

但前者似乎不起作用,因为它希望 one 成为一列。

有没有更简单的方法在没有子查询的情况下实现这种效果?

不,SELECT 2 AS two 不是一个选项。 ;)

最佳答案

考虑这段SQL代码

SELECT 1 AS one, one*2 AS two

从 SQL 语言的角度来看(为什么不呢;mysql 在遵守 ISO/ANSI SQL 标准方面有良好的记录),您的 one 不是变量;相反,它是一个列相关名称。您不能在具有相同作用域的 SELECT 子句中使用相关名称,因此会出现错误。

FWIW 你的“更短更甜美”的语法在使用 MS Access 数据库引擎时确实有效——你是从那里学到的吗?遗憾的是,Access 数据库引擎在遵守标准方面的记录很差。据说要取消学习 Access-speak 和学习 SQL 代码需要很长时间 ;)

关于sql - 子查询是重用变量的唯一选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1669498/

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