原则
从最近得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 代表没有数据 发现只敲空格就串行 不好看清楚
从最近得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 代表没有数据 发现只敲空格就串行 不好看清楚
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式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)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。