sql数据库的问题100分 能得到结果就结贴给分
用a表更新b表            a表有(a1,a2,a3)列         列的内容如下; 
 a1         a2         a3 
 1            x1         y1 
 1            b1         c1 
 2            x1         y1 
 2            b1         c1 
 3            x3         y3 
 3            x1         y1 
 3            b1         c1 
 4            x4         y4 
 4            x3         y3 
 b表有(b1,b2,b3)列   内容如下 
 b1         b2         b3 
 1            x1         y1 
 1            b1         c1 
 2            x1         y1 
 2            b1         c1 
 20         x1         y1 
 所需要的结果是   ;插入时b表的b1列和a表的a1列内容相同时   不更新相同的行。 
 b1         b2         b3      .........更新后的b表列名 
 1            x1         y1   .........   b1列数据是1和a表a1内容相同   不更新 
 1            b1         c1   .........   b1列数据是1和a表a1内容相同   不更新 
 2            x1         y1   .........   b1列数据是2和a表a1内容相同   不更新 
 2            b1         c1                
 20         x1         y1.........      a表里没有   就不管它 
 3            x3         y3   .........   a1列的数据是3   原b1没有            要更新                
 3            x1         y1                              a表的a1列有3个3      要把3个行的内容 
 3            b1         c1                                 都更新过来 
 4            x4         y4.........      a1列的数据是4   原b1没有         要更新 
 4            x3         y3                              把a1表的两个4的内容都更新过来   
 说明;那一堆汉字是解释;就是那a表更新b表。如果b表b1列里内容和a表a1列的内容相同就不更新那个一行。否则   就更新,   而且是多行的更新。如上面的   a1列的   3和4 
------解决方案--------------------其实就是一个insert语句吧 
 insert b select * from a where a1 not in (select distinct b1 from b)
------解决方案--------------------create table a(a1 int,[a2] varchar(10),[a3] varchar(10)) 
 insert into a select  '1 ', 'x1 ', 'y1 ' 
 insert into a select  '1 ', 'b1 ', 'c1 ' 
 insert into a select  '2 ', 'x1 ', 'y1 ' 
 insert into a select  '2 ', 'b1 ', 'c1 ' 
 insert into a select  '3 ', 'x3 ', 'y3 ' 
 insert into a select  '3 ', 'x1 ', 'y1 ' 
 insert into a select  '3 ', 'b1 ', 'c1 ' 
 insert into a select  '4 ', 'x4 ', 'y4 ' 
 insert into a select  '4 ', 'x3 ', 'y3 '   
 create table b(b1 int,[b2] varchar(10),[b3] varchar(10)) 
 insert into b select  '1 ', '