2016-07-27 58 views
0

我在使用SQL查詢(Microsoft Access中),涉及兩個表進行比較,列和更新的麻煩比較2個表參考號碼和更新值

我想比較tableA.com_idtableB.com_id,如果它們是相同的,更新 'TRUE' 在tableA.check每參考tableA.ref_id

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) 

回答

0

聽起來像是你應該使用join

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

一些如何語法錯誤進行更新,仍然是相同的,如果更新TABLEA 上(tableA.ref_id = tableB.ref_id加入tableB的和tableA.com_id = tableB.com_id) set tableA.Check ='TRUE' –