我有 2 个带有以下字段的表。
表1
- AA
- BB
- 抄送
- DD
表2
- AA
- 抄送
- EE
查询
Select t1.*,
t2.*
from table1 t1,
join table2 t2 on table1.DD = table2.EE
我的数据列返回以下列名称:
AA, BB, CC, DD, **AA_1**, **CC_1**, EE
我不想要这样的列名称。我希望它们的表名称以公共(public)名称(或所有列)为前缀。我可以用以下方法解决这个问题:
select t1.AA as t1_AA, t1.BB as t1_BB, t1.CC as t1_CC, t1.DD as t1_DD,
t2.AA as t2_AA, t2.CC as t2_CC, t2.EE as t2_EEE
from table1 t1,
inner join table2 t2
on table1.DD = table2.EE
但这意味着每个地方的选择都会变长 500 行。 oracle 有什么神奇的方法可以做到这一点吗?基本上我想编写我的代码,例如
select t1.* as t1_*, t2.* as t2_*
from table1 t1,
inner join table2 t2
on table1.DD = table2.EE
但这当然不是有效的 SQL
最佳答案
在 Oracle SELECT
语法中,目前无法根据某些表达式将列别名分配给多个列。您必须为每个单独的列分配一个别名。
关于sql - Oracle 自动重命名 select 中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3833038/