Sybase早期版本中使用left join

    最近为一个老系统新增功能模块时,程序中有段代码使用到多表查询,多表联合时我使用了left join和表别名,程序在我本机上运行没有问题,结果发布到银行测试机时,运行此段代码时提示:

    The Column prefix …… does not match with a table name or alias name used in the query……

 

    询问银行的人得知,这台机器的Sybase数据库是10年前装的,版本很老,而我本机的Sybase版本是12.5,难道早期版本不知道表别名?

    我把查询语句中的表别名通通去掉,发现还是同样的报错信息。

    后来把left join去掉,此时运行正常,再加上表别名,依然正常,此时可确认是left join的问题!改用 *=实现多表查询,程序没有问题。

 

     所以如果使用的Sybase数据库是很老的版本,应慎用left join(不清楚具体从哪个版本开始支持此语法),如果确实需要实现left join的效果,可用 *= 代替。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值