不会吧?Update A set 学历=(select Max(文化程序) from B where B.ID=A.ID)

解决方案 »

  1.   

    最高的文化程度怎么得到,单单用Max(文化程度)就可以了吗?如果是数值型,日期型数据到可以,但文化程度吗,有点难。
      

  2.   

    建立关联表,设置文化程度的级别再update
      

  3.   

    那可以先将(文化程度)转换成代码,然后用max就行了。
      

  4.   

    同意上面的,文化程度加上可以用MAX识别的列.
      

  5.   

    update A set 学历=(select MAX(文化程度) from B where 学校 is not null and 培训形式='脱产' group by id )  where A.ID=B.ID
      

  6.   

    update A set 学历=(select MAX(文化程度) from B where 学校 is not null and 培训形式='脱产' group by id )  where A.ID=B.ID
      

  7.   

    update A set
    学历=(select whcd from (select max(文化程度) whcd from B where length(学校)>0 group by ID) e where e.id=A.id)
    where (select count(*) from (select max(文化程度) whcd from B where length(学校)>0 group by ID) e where e.id=A.id)>0看看这样可不可以?我到时没有试过,思路应该是这样但是我可以肯定,上面的SQL Statement绝对错的很远
      

  8.   

    shy...这个问题有难度,加了关联表后的SQL才真是难写(还没有想出来)。如果结构不充许变(将文化程度改为数据值型或存放按你的逻辑可比较的字符串,如'01'表示大学,'02'表示硕士 etc.),可以考虑用PL/SQL 写个存储过程来做。
      

  9.   

    anakine(下雨不带伞) 说的队,文化程度却使用的是01,02表示的
    谢谢各位了
    给分了