select-求助:SQL Server语句出错求改正!!

问题描述

求助:SQL Server语句出错求改正!!

我写了一个SQL Server语句,内容如下:

 select C.courseID,C.courseName,C.teacherID,C.teacherName,Sum(e.Grade) As count
from EvaluateTeacherGrade e,Course C,Grade G where e.courseID=G.courseID and C.courseID=G.courseID and G.studentID='0711001'and C.courseID='100000'

但是有提示错误:
消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'Course.courseID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
我该如何改正啊??

解决方案

   SELECT C.COURSEID,
          C.COURSENAME,
                    C.TEACHERID,
                    C.TEACHERNAME,
                    SUM(E.GRADE) AS COUNT
     FROM EVALUATETEACHERGRADE E,
              COURSE C,
                    GRADE G
    WHERE E.COURSEID=G.COURSEID
          AND C.COURSEID=G.COURSEID
            AND G.STUDENTID='0711001'
            AND C.COURSEID='100000'
 GROUP BY C.COURSEID,
          C.COURSENAME,
                    C.TEACHERID,
                    C.TEACHERNAME

解决方案二:

Course.courseID
->
Max(Course.courseID)
放在聚合函数中

解决方案三:

用left join吧

时间: 2025-01-12 16:01:50

select-求助:SQL Server语句出错求改正!!的相关文章

sql server-求助!!::SQL语句查询求改正!!

问题描述 求助!!::SQL语句查询求改正!! 我有一个SQL Server表,表明为:EvaluateTeacherGrade 运行效果如下图: 问题1:我想查询得到所有courseID=200002和teacherID=22222001的相关数据表.我用如下SQL语句查询获得的表count应该等于108才对,但是为什么等?? SQL语句如下所示: select C.courseID,C.courseName,C.teacherID,C.teacherName,Count(e.Grade) A

sql-求助!!:SQL Server语句查询!!

问题描述 求助!!:SQL Server语句查询!! 我有一个SQL Server表,表明为:EvaluateTeacherGrade运行效果如下图:问题:用SQL语句我如何得到如下表图示: 即:courseID相同的行其Grade字段各行分别进行累加合并.例如:courseID ShowID Grade teacherID studentID100000 0 10 20070101 0711001 100000 0 10 20070101 0853203 合并后为:courseID ShowI

数据库-新手求教SQL server语句 求和,多个表之间的操作

问题描述 新手求教SQL server语句 求和,多个表之间的操作 SQL求和插入,求C表更新每个OrderID的SUM_Fee,SUM_Fee对应B表每个OrderId的总和(A表的B_ID对应B表的ID,B_ID记录单个Fee)? 解决方案 SQL Server 2005 用触发器跟踪表操作 解决方案二: update C set SUM_Fee=(select SUM(orderid) from B where B.orderid=C.orderid)没看懂A表,不是太明确的需求... 解

有用的SQL Server语句和存储过程

server|存储过程|语句 SQL  Server语句和存储过程   -- ====================================================== --列出SQL SERVER 所有表,字段名,主键,类型,长度,小数位数等信息 --在查询分析器里运行即可,可以生成一个表,导出到EXCEL中 -- ====================================================== SELECT        (case when a

关于SQL server语句查询统计问题

问题描述 关于SQL server语句查询统计问题 如果相同的Jointno算一个检测口,这一个检测口里有一个是不合格的 那么这个检测口就是不合格,如何统计合格的检测口里的合格数量? 查询生成的结果 Weldercode|合格数 SFCC-124 | 3 解决方案 哥们,对不对?对的话麻烦结贴. 解决方案二: 我这里设置table名为A select count(C.Lineno) as '合格数' from(select Linenocount(Lineno) as 'count' from

mysql-mySQL的limit分页怎么转换成SQL server语句

问题描述 mySQL的limit分页怎么转换成SQL server语句 String sql="select " + str + " from product,shop where product.shop_id=shop.shop_id " + " limit " + (page *size) + "," + size;//通过limit来达到分页的效果_ 其中定义了private String str = "pr

sql server语句转化成oracle

问题描述 sql server语句转化成oracle alter proc skyGetBizKey V_AddCount intV_KeyName Varchar2(128)V_Retval int OutputAsbegin trybegin tranIf Exists(Select IndexValue From skyBizkeys Where BizForm = v_KeyName) Begin Set v_Retval = (Select top 1 ISNULL(IndexValu

sql语句-SQL 插入语句 新手求指导求教育

问题描述 SQL 插入语句 新手求指导求教育 INSERT INTO U_USER VALUES( 1,小严,严,,,,,,,,,,,,,);后面的没有写就出现前三个字段列名无效.为什么? 解决方案 为varchar类型的列赋值需要用单引号引起来(1,'小严','严',,,,,,,,,,,)

sql server语句问题-sql server数据库语句问题 求大神帮忙解释

问题描述 sql server数据库语句问题 求大神帮忙解释 select * from Stock where sxrq<'CONVERT(varchar(10), GETDATE(), 23)' sxrq是varchar(10)是表中的日期,格式为xxxx-xx-xx,想用getdate()方法获取当前日期,并且转换成了varchar(10)格式也为xxxx-xx-xx,但执行时sxrq<'CONVERT(varchar(10), GETDATE(), 23)'好像没起到作用,求大神解释.