下面是MsSQL的sql语句:
update CUTOTAL CUTOTAL set TEACH_NO = select CUDATATMP.TEACH_NO from CUDATATMP CUDATATMP where CUTOTAL.COURSE_NO=CUDATATMP.COURSE_NO and CUTOTAL.CLASS_NO=CUDATATMP.CLASS_NO and CUTOTAL.SEM_NO='666' and CUDATATMP.SEM_NO='666'
oralce sql:
???

解决方案 »

  1.   

    试试:update CUTOTAL  b
    set TEACH_NO = 
      ( select a.TEACH_NO 
        from CUDATATMP a
        where b.COURSE_NO=a.COURSE_NO 
        and b.CLASS_NO=a.CLASS_NO 
        and b.SEM_NO='666' 
        and a.SEM_NO='666')
      

  2.   

    楼主的SQL语句在MsSQL下能正常执行吗?楼主能不能把你想要达到的要求说一下?
      

  3.   

    to: hevin(没有什么是不可能的) 
    可以在mssql run的。
    其实就是个批量更新,条件就是where语句那样。to: licsth()
    你那个语句可以执行,但是是把cutotal这表全部多更新了!不符合要求
      

  4.   

    update CUTOTAL  b
    set TEACH_NO = 
      ( select a.TEACH_NO 
        from CUDATATMP a
        where b.COURSE_NO=a.COURSE_NO 
        and b.CLASS_NO=a.CLASS_NO 
        and b.SEM_NO='666' 
        and a.SEM_NO='666')
    where exists(select a.TEACH_NO 
        from CUDATATMP a
        where b.COURSE_NO=a.COURSE_NO 
        and b.CLASS_NO=a.CLASS_NO 
        and b.SEM_NO='666' 
        and a.SEM_NO='666')