原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
居然有两个表的别名一模一样!!!关键是居然没有报错!!!!
有没有大佬能详细解释一下。。。
我在SQL Server
执行报错,提示多次指定别名了,但查了一下,Oracle
语法允许不同表使用同一个别名,放在ON
里面并不会报错,可以正常执行,按照这个推测,放在Where
里或许也不会出错;
不同表相同字段,我认为大概率会出错,因为不确定应该属于哪张表了。你可以测试一下:先是设置不同类型同一名称,然后是同一类型同一名称~
作用在on范围没有错,作用在where肯定有提示
select 后面那些也有作用的啊,表名.字段。难道不冲突吗
@一个郭大侠: 你了解下SQL执行顺序
@luzemin: 还是 不懂啊,能不能详细的解释一下啊?如果不同表有相同字段,设置相同表别名那不就有问题了 吗