UPDATE DEPTOUN SET IDNO=NOTEIDNO,IDRATING=LENgth(NOTEIDNO)/3 FROM (SELECT NOTENO,NOTEIDNO FROM NOTELIST)   WHERE DEPTNO=NOTENO
   在mysql中通不过,请问怎么修改
 

解决方案 »

  1.   

    SELECT NOTENO,NOTEIDNO FROM NOTELIST 你这里从notelist查询 noteno 和 noteidno  你条件里又写deptno = noteno 说明你已经 知道了 noteno的值   那你为撒要在 from后面的()里面查询它呢   
      

  2.   

    不好意思输入错了
    UPDATE DEPTOUN SET IDNO=NOTEIDNO,IDRATING=LEN(NOTEIDNO)/3 FROM (SELECT NOTENO,NOTEIDNO FROM NOTELIST)  WHERE DEPTNO=NOTENO
    noteno从(SELECT NOTENO,NOTEIDNO FROM NOTELIST)这里获取的
      

  3.   

    declare @V_NOTENO 类型
    declare @V_NOTEIDNO 类型
    SELECT @V_NOTENO=NOTENO,@V_NOTEIDNO=NOTEIDNO FROM NOTELIST
    UPDATE DEPTOUN SET IDNO=@V_NOTEIDNO,IDRATING=LEN(@V_NOTEIDNO)/3 FROM 表名 WHERE DEPTNO=@V_NOTENO这个是不是你要的?你的代码看起来的确满吃力...
      

  4.   

    忘记说了,如果你数据多的话,还要用游标,mysql里的话,变量前面那个@都要去掉