读书人

SQL2000与SQL2005/SQL2008语句兼容有关

发布时间: 2013-11-08 17:52:32 作者: rapoo

SQL2000与SQL2005/SQL2008语句兼容问题,求救!!!
如: select A.*,字段名=B.name from Table1 A join Table2 B on A.ID=B.ID order by A.字段名  
此语句在SQL2000下执行能通过,在sql2005及sql2008里无法通过,提示:消息 207,级别 16,状态 1,第 1 行
列名 '字段名' 无效。

我程序里所有排序语句都是这样写的.升级到sql2005或sql2008后就无法使用了.求高手告诉我是否可在sql数据库里设置sql2005或sql2008能兼容此语句...谢谢!!!
[解决办法]
select A.*,字段名=B.name from Table1 A join Table2 B on A.ID=B.ID order by A.字段名

看差了,这里,如果表table1没有 [字段名] 这个列,那就不能放order by后,如果要按别名 [字段名] 排序,直接 order by B.name 就行。
[解决办法]

select A.*,字段名=B.name 
from Table1 A join Table2 B on A.ID=B.ID
order by A.字段名---A表里有字段名这一列?

[解决办法]
引用:
临时解决方法找到了:
对着数据库名点右键-属性-选项-兼容级别-SQL Server 2000 (80)
重启SQL服务即可!!!

谢谢各位!!

GX
就是兼容级别的问题
[解决办法]
呵呵,就是兼容性的问题了。

读书人网 >SQL Server

热点推荐