原则                               
  从最近得shuzhi中插入数据(相等更好);
  更新有数据的优先插入 view aa                               
 usrcode     shuzhi               
   617        32            
   918        57         
   320        18
   321        22
   322        19
   333        23
table  bb
usrcode    usrguanid   usrshuzhi    
   617     117.25         32
   918     234.25         55   
   321      32.5          21
   321      55.8          23
   321       null         22
   918     233.25         65
   320       null         17
   320      55.5          11
   322       null         30
   355       null         49 
                                     
解释一下规则
321这条,bb表usrshuzhi中有21,22,23虽然22和aa表中相等,但没有数据,去掉,21和23与22比较距离都为1,但取+1;(23那条更新)
918这条,bb表中有55,65和aa表比较,55和57近,取55那条,更新
320这条,bb表中有17,11,虽然17近,但数组空,只能取11那条更新
通过上两个表我就得到视图cc
usrcode    usrguanid    shuzhi
617         117.25      32
918         234.25      57
320          55.5       18
321          55.8       22
322           null      19
333           null      23是以视图aa为基础 从bb表里找更新的数据,如果bb里没有,就插入为空
注null 代表没有数据  发现只敲空格就串行  不好看清楚

解决方案 »

  1.   

    以前给的sql  反了  是以bb表为基础,谢谢
      

  2.   


       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。