将2个表与参考编号和更新值进行比较

时间:2016-07-27 03:44:58

标签: sql ms-access

我遇到了SQL查询(Microsoft Access)的问题,该问题涉及比较两个表中的列和更新

我想比较tableA.com_idtableB.com_id,如果它们相同,请在tableA.check中使用每个引用tableA.ref_id

更新为“TRUE”

tableA

  

ref_id | com_id |检查
  10001 | 20001 |
  10002 | 20008 |
  10003 | 20005 |
  10004 | 20001 |

tableB

  

ref_id | com_id |
  10001 | 20001 |
  10004 | 20004 |
  10002 | 20008 |
  10001 | 20011 |
  10001 | 20021 |

期望的输出:

  

ref_id | com_id |检查
  10001 | 20001 | TRUE
  10002 | 20008 | TRUE
  10003 | 20005 |
  10004 | 20001 |

我尝试了很多查询,但是它们不起作用。例如:

UPDATE tableA SET CHECK = 'TRUE' 
WHERE tableA.ref_id = (SELECT ref_id FROM tableB) 
 AND tableA.com_id  = (SELECT com_id FROM tableB)

1 个答案:

答案 0 :(得分:0)

听起来你应该使用join

update tableA
join (tableB on tableA.ref_id = tableB.ref_id and tableA.com_id = tableB.com_id) 
set tableA.Check = 'TRUE'