下面有三个sql server 的sql语句:select AA.sum(score) ,t.teachercode from  scourse t  left join (select id as id ,score as score  from scourse) AA on aa.id=t.idselect AA.sum(score), t.teachercode from  scourse t , (select id,score  from scourse) AA where AA.id=t.idselect sum(score),max(teachercode) from scourse group by id每个id都是一个teachercode我的问题是oracle对应的sql语句如何写,还有那种方法更好。

解决方案 »

  1.   

    这些都是标准的SQL,可以直接拿到oracle执行的不过先要确保oracle中已经存在这些表对象了
      

  2.   

    oracle里面提示AA.sum(score)标识符无效
      

  3.   

    select AA.sum(score) ,t.teachercode from  scourse t  left join (select id as id ,sum(score) as score  from scourse) AA on aa.id=t.id select AA.sum(score), t.teachercode from  scourse t , (select id,sum(score) as score  from scourse) AA where AA.id=t.id select sum(score),max(teachercode) from scourse group by id每个id都是一个teachercode我的问题是oracle对应的sql语句如何写,还有那种方法更好。 
      

  4.   

    前两句放在SQL Server中也一样报错吧。
    1、AA.sum(score)写法不对。
    2、这两句都没有group by如果这些改正确了,放在Oracle中一样能执行。
    论写法,最后一个应该是最好的了。前两个写的就很啰嗦了。
      

  5.   

    select AA.sum(score) ,t.teachercode from  scourse t  left join (select id as id ,sum(score) as score  from scourse group by id) AA on aa.id=t.id
    不能执行
      

  6.   

    提示AA。sum(score)标识符无效