首页 新闻 搜索 专区 学院

oracle ,sql语句,真是见了鬼了。

0
悬赏园豆:200 [已解决问题] 解决于 2022-05-24 14:40

原sql语句如下:
select a.enterid as "enterid",

       b.bankno as "bankno",

           b.pwd as "pwd",

           a.subaccid as "subaccid",

           b.account as"subaccount",

           b.accountname as"subaccname",

           a.manageid as "manageid",

    from gz_fs_bank_bill_enter a

    inner join gz_fs_bank_subaccount b on a.subaccid=b.subaccid

    inner join gz_fs_bank b on a.bankid=b.bankid

居然有两个表的别名一模一样!!!关键是居然没有报错!!!!
有没有大佬能详细解释一下。。。

一个郭大侠的主页 一个郭大侠 | 初学一级 | 园豆:26
提问于:2022-05-19 12:14
< >
分享
最佳答案
1

我在SQL Server执行报错,提示多次指定别名了,但查了一下,Oracle语法允许不同表使用同一个别名,放在ON里面并不会报错,可以正常执行,按照这个推测,放在Where里或许也不会出错;
不同表相同字段,我认为大概率会出错,因为不确定应该属于哪张表了。你可以测试一下:先是设置不同类型同一名称,然后是同一类型同一名称~

收获园豆:200
三人乐乐 | 老鸟四级 |园豆:4308 | 2022-05-19 14:23
其他回答(1)
0

作用在on范围没有错,作用在where肯定有提示

luzemin | 园豆:399 (菜鸟二级) | 2022-05-19 13:15

select 后面那些也有作用的啊,表名.字段。难道不冲突吗

支持(0) 反对(0) 一个郭大侠 | 园豆:26 (初学一级) | 2022-05-19 13:22

@一个郭大侠: 你了解下SQL执行顺序

支持(0) 反对(0) luzemin | 园豆:399 (菜鸟二级) | 2022-05-19 13:30

@luzemin: 还是 不懂啊,能不能详细的解释一下啊?如果不同表有相同字段,设置相同表别名那不就有问题了 吗

支持(0) 反对(0) 一个郭大侠 | 园豆:26 (初学一级) | 2022-05-19 13:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册