您的位置:程序门 -> db2 -> 基础类



update语句问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


update语句问题[已结贴,结贴人:surf182]
发表于:2007-12-14 11:00:30 楼主
两个表数据如下:
表a:                                                             表b(字段h里数据唯一):
a     b     c                                                     h     u
      1     2                                                     1     aa  
      1     3                                                     2     bb
      2     4
      2     5
      2     6
表a和表b的数据是多对一的关系,现想根据表a里的字段b和表b里的字段h对应,用表b里字段u的数据更新表a里字段a的数据,我写的sql语句如下:
update   a   f   set   (f.a)   =(select   b.u   from   b   b   where   f.b   =   b.h)
运行时总是提示错误,说是数据对应不上,估计是两个表数据多对一造成的
哪位高手知道怎样能实现这样的更新?
发表于:2007-12-14 13:44:301楼 得分:30
我测试可以啊

update   a     set   (a.a)   =(select   b.u       from     b   where   a.b=b.h);

发表于:2007-12-14 13:48:562楼 得分:0
或者是你的a.a   和   b.u   字段大小不一致吧
发表于:2007-12-14 14:19:473楼 得分:20
测试:

create   table   a(a   char(2),b   int,c   int);

insert   into   a(b,c)
values(1,2),
(1,3),
(2,4),
(2,5),
(2,6);

create   table   b(h   int,u   char(2));

insert   into   b(h,u)
values(1,'aa'),
(2,'bb');

update   a   f   set   (f.a)=(select   u   from   b   where   f.b=b.h)  


快速检索

最新资讯
热门点击