select 0 as px1,1 as px2,(px1+px2) as px3 from ... 怎么出错???
select 0 as px1,1 as px2,(px1+px2) as px3 from table1
这个语句怎么能在ACCESS上运行,但在SQLSERVER上运行就出错呢?
提示:
服务器: 消息 207,级别 16,状态 3,行 1
列名 'px1' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 'px2' 无效。
问题点数:100、回复次数:8Top
1 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2004-08-03 02:21:13 得分 10
select px1 0,px2 1,px3 (px1+px2) from table1Top
2 楼inelm(木野狐)回复于 2004-08-03 06:58:31 得分 10
select px1 = 0, px2 = 1, px3 = 1 from table1
这样不就行了? 你都知道 px1 = 0, px2 = 1 了, px3 还计算什么呀?Top
3 楼ghy412(用心良苦)回复于 2004-08-03 07:11:17 得分 10
select 0 as px1,1 as px2,(px1+px2) as px3 from table1
这样坑顶不行了,px1,px2 不是数据库里的字段呀,怎么能用(px1+px2) as px3?
select 0 as px1,1 as px2,(0+1) as px3 from table1
这样不就行了?
Top
4 楼qhyan23(yan)回复于 2004-08-03 07:32:37 得分 10
我只知道 px1+px2 这样不可以,因为不是表中的字段,别的如何实现我就不会了.
学习了.
谢谢楼主的问题.Top
5 楼xzq686(★_瞬_★)回复于 2004-08-03 07:42:51 得分 10
select 0 as px1,1 as px2,(px1+px2) as px3 from table1
不行上面的。。
select 的是表中的字段。。也许在ACCESS中允许,但是在SQLSERVER中是比较严格的。。
select 0 as px1,1 as px2,(0+1) as px3 from table1
上面的试试。不过楼主的字段定义的有些怪。。(0+1) 还以为就是1呢。。。
ACCESS和SQLSERVER。有好多区别。在时间上了 。双引号上了。。
Top
6 楼wangjinmin1982(:(从asp-到jsp:))回复于 2004-08-03 07:47:00 得分 10
有的时候不是自己认为对的就是对的,要遵从语法规则
Top
7 楼aspczlover(你的骄傲...)回复于 2004-08-03 08:46:04 得分 40
select 0 as px1,1 as px2,0+1 as px3 from 表
或者
select 字段1+字段2 as px4 from 表
'要么常量相加,要么字段相加,而不能是未知数相加Top
8 楼java_xzy(savage)回复于 2004-08-03 10:49:24 得分 0
原来的问题解决了
但新问题又产生了
select Product_No,Product_Id,Product_Name,Class_1,Class_2,Product_Intro,Product_Show,P_NewPrice,P_OldPrice,P_Pic,P_Full_Pic,RegTime,Look_Count,p_flag,sum(px1),sum(px2),sum(px3),sum(px4),sum(px5) from view_103730382500180 group by Product_No,Product_Id,Product_Name,Class_1,Class_2,Product_Intro,Product_Show,P_NewPrice,P_OldPrice,P_Pic,P_Full_Pic,RegTime,Look_Count,p_flag order by sum(px5) desc,sum(px1) desc,sum(px3) desc,sum(px4) desc,RegTime desc
服务器: 消息 306,级别 16,状态 2,行 1
不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。
好象是说不用用 sum(px1) 这样的来进行排序。Top




