有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value上面sql文字,sql2000报错为:子查询返回的值多于一个.当子查询跟随在 =、!=、= 之后,或子查询用

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 08:53:29

有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value上面sql文字,sql2000报错为:子查询返回的值多于一个.当子查询跟随在 =、!=、= 之后,或子查询用
有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value
上面sql文字,sql2000报错为:子查询返回的值多于一个.当子查询跟随在 =、!=、= 之后,或子查询用作表达式时,这种情况是不允许的.
语句已终止.该怎么写?

有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value上面sql文字,sql2000报错为:子查询返回的值多于一个.当子查询跟随在 =、!=、= 之后,或子查询用
报错原因是,某个B表中的key值,在A表中存在多个;
举个例子:B表中某条记录的key值为20,而A表中key值为20的记录存在两个以上就会报这个错误;
解决方案:
如果不考虑sql所在业务环境,只从技术上绕过这个报错,可以在多条记录中选取最大的一条或者最小的一条;
update B b set b.value=(select max(a.value) from A a where b.key=a.key)
where exists(select 1 from A c where b.key=c.key)
结合业务考虑,一般系统中设计了字段名为key,是不允许重复的,请楼主检查一下是否存在错误数据或垃圾数据,如果业务要求不允许重复,则添加一个唯一约束,然后正常简单的update就可以执行成功了.

有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value上面sql文字,sql2000报错为:子查询返回的值多于一个.当子查询跟随在 =、!=、= 之后,或子查询用 js中的 if (val[1]===this.undefined) 和 if (val[1]== yes) 中的 三个等于 和 两个等于有什么区别? 输入一元二次方程ax2+bx+c=0系数a,b,c的值,计算并输出一元二次方程的两个根x1和x2.Private Sub Command1_Click()Dim a%,b%,c%,,x1!,x2!a = Val(Text1)b = Val(Text2)c = Val(Text3)d = b ^ 2 - 4 * a * cIf d >= o Thenx1 = (-b + d ^ 1 / 水解肽A时,发现其含有等量的Arg,Val,Tyr,Glu,Lys,Ala和Gly七种氨基酸(5分) 1).用胰蛋白酶水解肽A时,得到如下物质:Arg,Ala-Lys和含有Glu,Gly,Tyr,Val的肽B;用胰凝乳蛋白酶水解肽B,产生两个二肽:Val-Tyr和Glu-Gl 有PH=a的盐酸VaL和PH=b的NaOH的溶液VbL,二者完全中和(过程)在25°C,有PH=a(a≤6)的盐酸VaL和PH=b(b≥8)的NaOH的溶液VbL.二者完全中和(过程)(1)若a+b=14,则Va/Vb=___ (2)若a+b=13,则Va/Vb=___ (3)若a+b vb里 InStr(TreeView.SelectedItem.Key,1+) 0怎么理解,如下:InStr(TreeView.SelectedItem.Key,1+) 0和InStr(TreeView.SelectedItem.Key,a+) 0有什么区别. vb里 InStr(TreeView.SelectedItem.Key,1+) 0怎么理解,如下:InStr(TreeView.SelectedItem.Key,1+) 0和InStr(TreeView.SelectedItem.Key,a+) 0有什么区别. to和of都可以表示从属,a key to a door ,和a key of a door,有什么区别 jquery 里的first和eq(0)的区别是怎么样的?在一个页面里有 如有两个input type=text 这样子,见到些书是用如下取值var name = $(input:first).val();var pwd = $(input:eq(1)).val();这里有点不明白的是:如是取第 primary key和unique index有什么不同 vb三角形编程输入三条边,判断能否构成三角形.看我的编程是否有问题,Dim A=Val(InputBox(请输入a) ) B=Val(InputBox(请输入b) ) C=Val(InputBox(请输入c) ) Ifa+ b >c and a+c >b and b+c>a then print a ,b,c,能构成 primary key 和 UNIQUE INDEX有什么区别?谢谢primary key 和 UNIQUE INDEX有什么区别? 有两个根数3和5,求a.b 为什么 val()+val() 和 str(val()+val()) 的结果相同VB中 val()+val() 为数值 而 str(val()+val())为文本 别人说text只能显示文本 可我发现数值也能显示 ((val)=((val)&15) + ((val)>>4)*10)是什么意思?如题 我想知道的是(val)&15和(val)>>4是什么意思,时设置系统时钟的一个宏定义 Which of the following gives the value stored in pointer a有三个选项A.a;B.val(a);C.*a; HCl和NAOH中和PH问题在25℃时,有pH为a的HCl溶液和pH为b的NaOH溶液,取VaL该盐酸溶液用该NaOH溶液中和,需VbL NaOH溶液,问:(1)若a+b=14,则Va/Vb= .(2)若a+b=13,则Va/Vb= (3)若a+b>14,则Va/Vb= ,且Va forget about和leave有何区别?forget about the key等不等于leave the key at home?