gpt4 book ai didi

sql - 从子句中嵌套选择

转载 作者:行者123 更新时间:2023-12-04 23:28:13 25 4
gpt4 key购买 nike

在 SQL Server 中,

您可以像这样编写嵌套 SQL:

SELECT T.con
FROM (SELECT count(*) as "con" FROM EMP) AS T

通过这种方式,我可以获得一个可以嵌套到其他查询中的临时表 T。

但是我不能在 oracle SQL 中做同样的事情

它给了我 ORA-01747:invalid column
SELECT *
FROM (SELECT count(*) as "con" FROM EMP) T

select * 有效,但这不是我想要的。有人知道怎么做吗?

最佳答案

无论是明确指定别名还是指定 *,您发布的查询对我来说都很好。 .当您收到异常时,您可以发布您正在运行的确切查询吗?

SQL> SELECT *
2 FROM (SELECT count(*) as "con" FROM EMP) T;

con
----------
14

SQL> ed
Wrote file afiedt.buf

1 SELECT "con"
2* FROM (SELECT count(*) as "con" FROM EMP) T
SQL> /

con
----------
14

我的猜测是您正在尝试选择 con没有双引号。如果您在 Oracle 中使用双引号标识符,则是在告诉 Oracle 您希望该标识符区分大小写,这反过来意味着您必须始终以区分大小写的方式引用它,并且您必须每次都用双引号将列名括起来。我强烈建议不要在 Oracle 中使用区分大小写的标识符。

关于sql - 从子句中嵌套选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9025823/

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