回答

收藏

嵌套选择从子句

技术问答 技术问答 185 人阅读 | 0 人回复 | 2023-09-14

在SQL Server中,' A: K9 }+ @- a# G5 C
你可以这样写嵌套SQL:
& L& z3 c" K, oSELECT T.conFROM (SELECT count(*) as "con" FROM EMP) AS T这样,我就可以得到一个可以嵌入其他查询的临时表T。
* e7 X9 L( x; \5 q" z但我不能oracle SQL做同样的事9 X4 J3 j) z. Z; Q3 W
它给我 ORA-01747:invalid column: p5 E4 r; E9 n8 `  L/ A: `4 J
SELECT *FROM (SELECT count(*) as "con" FROM EMP) T选择*但这不是我想要的。有人知道该怎么办吗?
# R: e# l& F7 b) Y                                                                * q* ?6 m; \) `& f, V
    解决方案:                                                                ' f2 e  D8 z# I  o% Y: ~1 Z9 S
                                                                无论是我的显式指定别名还是指定,您发布的查询对我都有效*。收到异常后,您可以发布正在运行的确切查询吗?5 R. p" a$ F: k
SQL> SELECT *  2  FROM (SELECT count(*) as "con" FROM EMP) T;       con----------     SQL> edWrote file afiedt.buf  1  SELECT "con"  2* FROM (SELECT count(*) as "con" FROM EMP) TSQL> /         con----------     我的猜测是你必须选择con没有双引号的内容。Oracle使用双引号标识符表示Oracle我希望标志符能区分大小写,这反过来意味着你必须总是引用标志符来区分大小写,每次都必须用双引号列出。我强烈建议不要Oracle使用区分大小写的标识符。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则