代码如下:
        UPDATE tmp_yjkh_areayjcx e
        SET  zxyj =(
         SELECT t2.jjdm,t2.area_id,SUM(jjfsye) AS jjfsye      --去掉t2.jjdm,t2.area_id,
          FROM
           (嵌套查询语句) t2
         GROUP BY t2.jjdm,t2.area_id
         )
         WHERE e.jjdm = t2.jjdm
           AND e.area_id = t2.area_id;
他总是报t2.area_id是无效标示符,我将t2.jjdm,t2.area_id去掉也不行,该怎样改呢,谢谢

解决方案 »

  1.   

    这条语句是SQL Server 的语法吧
    :)
    放在oracle里肯定有问题
    另外,只要更改一个字段的值,为什么子查询里查出那么多的列值?
      

  2.   

    谢谢,--去掉t2.jjdm,t2.area_id,是要去掉的,oracle就是不知道怎样写了,该怎样改呢
      

  3.   

    UPDATE tmp_yjkh_areayjcx e
            SET  zxyj =(
               SELECT SUM(jjfsye) AS jjfsye 
               FROM
               (嵌套查询语句) t2
               where e.jjdm = t2.jjdm
               AND e.area_id = t2.area_id
             )
    WHERE exists (
       SELECT 1 FROM
               (嵌套查询语句) t2
               where e.jjdm = t2.jjdm
               AND e.area_id = t2.area_id
    );