gpt4 book ai didi

sql - 根据另一个表中的数据更新 SQLite 表

转载 作者:行者123 更新时间:2023-12-03 17:40:01 24 4
gpt4 key购买 nike

我在 SQLite 中有两个表,如下所示

TABLE_X    
____________________
| id | C1 | C2 | C3 | C4 |
| 10 | 99 | 03 | 04 | 00 |
| 60 | 88 | 20 | 30 | 40 |


TABLE_Y
___________
| id | C2 |
| 10 | 11 |
| 60 | 22 |

我正在尝试编写查询以根据表 Y 中的记录更新表 X 上的记录更新的条件如下

update table_x
set table_x.c1 = 100,
table_x.c2 = table_y.c2
where table_x.id = table_y.id

但是当我尝试这样做时,我收到一条错误消息

NO such column: table_y.c2

最佳答案

删除的答案对于错误原因是正确的:关系标识符必须在查询中引入(例如使用 FROM/JOIN)才能使用。

虽然SQLite支持UPDATE..JOIN(因此无法直接引入查找关系),但可以使用依赖子查询来模拟效果:

update table_x
set c1 = 100,
c2 = (select y.c2 from table_y as y
where y.id = table_x.id)

请注意,正确的UPDATE..JOIN不同,如果子选择无法找到匹配项,则将分配 NULL。

YMMV。

关于sql - 根据另一个表中的数据更新 SQLite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19713678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com