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

SQL根据一张表更新另外一张表
要把一批数据导入T_A表,为此我建立了T_B表,T_B和T_A有相同表结构,我把数据导入T_B。

然后根据T_B表更新T_A表时出现问题,SQL语句如下:

UPDATE T_A
  SET A.类型 = B.类型 
  FROM T_A A, (SELECT * FROM T_B) B
 WHERE A.班级 = B.班级
  AND A.姓名 = B.姓名


说明:T_A/T_B表中,班级和姓名字段确定一条记录。

请问我的SQL语句应该怎么修改?




------解决方案--------------------
SQL code
--也可以简单的忽略,取个最大值,
update T_A set 类型=(
select max(类型) from T_B where T_A.班级 = T_B.班级 AND T_A.姓名 = T_B.姓名);