如: 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能兼容此语句...谢谢!!!
此语句在SQL2000下执行能通过,在sql2005及sql2008里无法通过,提示:消息 207,级别 16,状态 1,第 1 行
列名 '字段名' 无效。我程序里所有排序语句都是这样写的.升级到sql2005或sql2008后就无法使用了.求高手告诉我是否可在sql数据库里设置sql2005或sql2008能兼容此语句...谢谢!!!
from Table1 A join Table2 B on A.ID=B.ID
order by A.字段名---A表里有字段名这一列?
sql2000下执行没问题.sql2005/2008下执行,提示一定要在table1里有这个字段名才可以.
[字段名]这个字段不存在任何表里,是从B表里引用过来select出来的.[/
关键为什么在sql2000下可以执行通过?
SQL2000你的语句如果是 order by A.字段名 也行不通,因为你表table1根本没这个列,楼主再去测试看下。
create talbe Table1(ID int)
create talbe Table2(ID int,Name varchar(20))select A.*,字段名=B.Name from Table1 A join Table2 B on A.ID=B.ID order by A.字段名我在sql2000下百分百测试能通过。希望各位帮忙的,也最好自己先测试一下再发表意见好吗?谢谢 。
Go
CREATE TABLE Table2(ID INT,Name VARCHAR(20))
Go
SELECT A.*,字段名=B.Name FROM Table1 A JOIN Table2 B ON A.ID=B.ID ORDER BY A.字段名求高手解决此语句如何才能在SQL2005及SQL2008下执行,万分感谢!
因为我现有的程序里已经写死了语句是这样的方式,所以我没办法更改过来.
对着数据库名点右键-属性-选项-兼容级别-SQL Server 2000 (80)
重启SQL服务即可!!!谢谢各位!!