当前位置: 代码迷 >> Sql Server >> 菜鸟遇到困难求解
  详细解决方案

菜鸟遇到困难求解

热度:48   发布时间:2016-04-25 01:12:39.0
初学者遇到困难求解
SELECT ispass=case
  when Result.StudentRseult >=60 then 1
  else 0
  END
  FROM Result WHERE ExamDate="2012-01-01" AND SubjectNo

为什么在when Result.StudentRseult >=60 then 1这一句的StudentResult会出现列明无效的错误!


------解决方案--------------------
那说明你那表没那StudentRseult 这个列
------解决方案--------------------
是不是你写错了列名。 
你可以选择直接复制过来。
------解决方案--------------------
你单表查询没必要引用库名,说不定你权限不够反而访问不了。
------解决方案--------------------
SQL code
select * from sys.columns where object_id=object_id('Result')看看有没有这个字段
------解决方案--------------------
你去掉表名试过没?
------解决方案--------------------
探讨
引用:

那说明你那表没那StudentRseult 这个列

表中有这个列的

------解决方案--------------------
1、试下别的列有没有问题,
2、select * from sys.columns where object_id=object_id('Result' 这个是查找这个表有什么列
------解决方案--------------------
探讨

引用:

你单表查询没必要引用库名,说不定你权限不够反而访问不了。

你说的是when Result.StudentRseult >=60 then 1中的Result吗?去掉过但是还是一样列名无效!

------解决方案--------------------
列名无效,肯定就是列名在你查询的数据库中是不存在的,仔细检查下列名