我尝试使用ID字段T1更新表T2中的字段ID_T1,但是唯一加入它们的是两个表中的DESC字段,这是一个问题,因为所有更新I&# 39; ve尝试返回"单行子查询返回多行"因为在T1中有多个具有相同DESC的记录
T1
|DESC | ID |
|A | 1 |
|B | 2 |
|C | 3 |
T2
|DESC | ID | ID_T1 |
|A | 1 | |
|B | 2 | |
|C | 3 | |
|A | 4 | |
|B | 5 | |
|C | 6 | |
预期结果应为:
T2
|DESC | ID | ID_T1 |
|A | 1 | 1 |
|B | 2 | 2 |
|C | 3 | 3 |
|A | 4 | 1 |
|B | 5 | 2 |
|C | 6 | 3 |
答案 0 :(得分:0)
你得到了错误的方法;)
UPDATE T2 d
SET (d.id_t1) = (SELECT c.id FROM T1 c WHERE d.desc= c.desc);