Oracle 在从中选择*时添加虚拟列和表

Oracle 在从中选择*时添加虚拟列和表,oracle,Oracle,要将列添加到表A中吗 Table_A ID, ZONE 我想添加具有新值的账户 仅在SELECT语句中: SELECT A.*, B.* FROM TABLE_A A , (SELECT "NEW" AS ACCNT FROM DUAL) B 使用下面的查询,我能够完成上述任务 SELECT A.*, B.* FROM TABLE_A A , (SELECT "NEW" AS ACCNT FROM DUAL) B 您不需要select语句来添加具有常量名称的列,只需按如下方式编写查询:

要将列添加到表A中吗

Table_A 

ID,
ZONE
我想添加具有新值的
账户

仅在SELECT语句中:

SELECT A.*, B.* FROM TABLE_A A , (SELECT "NEW" AS ACCNT FROM DUAL) B

使用下面的查询,我能够完成上述任务

SELECT A.*, B.* FROM TABLE_A A , (SELECT "NEW" AS ACCNT FROM DUAL) B

您不需要select语句来添加具有常量名称的列,只需按如下方式编写查询:

SELECT *, 'New' as Zone
FROM TABLE_A
如果需要重命名特定列,则可以按如下操作:

SELECT id, accnt as New
FROM TABLE_A

看来你想要的是

select id, zone, 'New' as acct
from   table_a

但我不明白你为什么想要这个。如果所有id在
acct
列中具有相同的值,它会添加哪些信息?为什么第三列需要以开头?

非常旧的线程,但给出了关闭它的答案

您可以在查询中直接使用它,如下所示:

SELECT A.*, 'NEW' as acct FROM TABLE_A A

干杯

似乎OP需要ACCNT作为列别名感谢@scaisEdge我也添加了这一点,同时建议OP也更新问题。ORA-00923:from关键字未在预期的位置找到,我在sql developer中使用了哪个查询给了您错误Aman?它们应该都能工作,但您使用哪一个取决于您的需求,正如SMA所提到的。您不需要select语句,只需按照下面的方式编写查询,下面是select语句?我很困惑。不需要子查询。此外,这(正如所写的)在语法上是不正确的,因为双引号中的字符串是列名,而DUAL没有新的列。因此,使用这个查询,我非常怀疑您是否能够完成这项任务。也许您使用了“NEW”(单引号,而不是双引号)?