您的位置:首页 > 其它

Sybase早期版本中使用left join

2011-03-11 14:56 113 查看
最近为一个老系统新增功能模块时,程序中有段代码使用到多表查询,多表联合时我使用了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的效果,可用 *= 代替。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐