日期:2014-05-17  浏览次数:20571 次

两表数据比较,更新B表状态
例如表A和表B结构一样
create table a
(
  id int,
  name varchar(50),
  sex char(1),
  address varchar(255),
  cardno varchar(30)
  state char(1)
)
create table b
(
  id int,
  name varchar(50),
  sex char(1),
  address varchar(255),
  cardno varchar(30),
  state char(1)
)
insert into a values(1,'张三','1','北京市西城区建国大道110号','11012322344421210','1')
insert into a values(1,'张三','1','北京市西城区建国大道110号','11012322344421210','1')
如果A表中的name、sex 、cardno与B表中的name、sex 、cardno相同,则将B表中的state改为‘0’
请教各位大虾,这个update 语句怎么写?

------解决方案--------------------
SQL code
UPDATE B
 SET b.STATE=0
 FROM a a INNER JOIN B b ON a.NAME=b.NAME AND a.sex=b.sex AND a.cardno=b.cardno

------解决方案--------------------
SQL code

UPDATE B SET b.STATE=0
FROM A a INNER JOIN B b ON a.NAME=b.NAME AND a.sex=b.sex AND a.cardno=b.cardno