使用SQLite使用来自另一个表的值更新列?

奇拉格B

我有两个SQLite表。我想table1使用中的值更新其中的列table2

表1 table1 (id INTEGER AUTOINCREMENT, status TEXT, name TEXT);

| id |  status   | name |
|----|-----------|------|
|  1 | pending   | xyz  |
|  2 | completed | abc  |

表2 table2 (status TEXT, name TEXT, trans_id INTEGER);

| trans_id |  status   | name |
|----------|-----------|------|
|        1 | refunded  | cvb  |
|        2 | cancelled | asd  |

我想将状态和名称从table2更新到table1 where table1.id = table2.trans_id我有这个查询:

UPDATE table1 
SET status = (SELECT t2.status FROM table1 t1,table2 t2 WHERE t1.id = t2.trans_id) , 
name = (SELECT t2.name FROM table1 t1,table2 t2 WHERE t1.id = t2.trans_id)
WHERE id IN (SELECT trans_id FROM table1 t1,table2 t2 WHERE t1.id = t2.trans_id)

它错误地填充了table1。这是结果表1

| id |  status  | name |
|----|----------|------|
|  1 | refunded | cvb  |
|  2 | refunded | cvb  |

我的要求是这样的:

| id |  status   | name |
|----|-----------|------|
|  1 | refunded  | cvb  |
|  2 | cancelled | asd  |

我的查询出了什么问题?我该如何实现?

马赫什

我假设t2.trans_idis是uniqprimary keyin table2如果不是,则返回多个结果,则更新查询将失败。在这种情况下,您需要使用WHERE应用更多过滤器TOP 1如果需要则使用结果。

           UPDATE table1 
           SET status = (SELECT t2.status FROM table2 t2 WHERE t2.trans_id = id) , 
               name = (SELECT t2.name FROM table2 t2 WHERE t2.trans_id = id)
           WHERE id IN (SELECT trans_id FROM table2 t2 WHERE t2.trans_id= id)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用来自另一个表的汇总值更新一个表的多个列

来自分类Dev

使用VBA使用来自另一个表的值更新访问表

来自分类Dev

使用来自另一个表的值更新PHP MYSQL中的表

来自分类Dev

oracle使用来自另一个表的列值更新前4个字符

来自分类Dev

使用来自另一个表的值更新行时的Postgres错误

来自分类Dev

kdb使用来自另一个表的数据更新整个列

来自分类Dev

kdb使用来自另一个表的数据更新整个列

来自分类Dev

使用来自另一个记录的值更新SQL记录

来自分类Dev

sqlite3仅当其他4个列匹配时才使用来自另一个表的数据更新表

来自分类Dev

如何使用来自另一个数组的值更新一个NumPy数组?

来自分类Dev

使用来自另一个表的值的总和更新表

来自分类Dev

使用来自另一个表的信息更新SQL Server中的表

来自分类Dev

如何使用来自另一个表Microsoft Access的查询更新表

来自分类Dev

SQL-使用来自另一个表的信息更新表

来自分类Dev

使用来自查询的另一个表的结果更新表变量

来自分类Dev

使用来自另一个表的值的 SQL 更新表

来自分类Dev

使用另一个表中的值更新一个表上的列

来自分类Dev

Pandas - 使用来自另一个 DF 的值更新/替换列中的值(基于 2 个匹配列)

来自分类Dev

使用另一个表的值更新表

来自分类Dev

使用来自另一个表的数据将列添加到表

来自分类Dev

使用来自另一个表的数据更新特定行

来自分类Dev

使用来自另一个数据框的值更新数据框标头

来自分类Dev

perl使用来自另一个数据库的值更新oracle数据库

来自分类Dev

如何使用来自另一个数据框的随机值更新Pyspark中的数据框?

来自分类Dev

使用来自另一个data.frame的查找值更新data.frame中的列-带有子字符串匹配

来自分类Dev

使用来自另一个data.frame的查找值更新data.frame中的列-带有子字符串匹配

来自分类Dev

使用另一个表的列中的值更新表的列

来自分类Dev

使用updateAll()使用同一表的另一个列值更新表列

来自分类Dev

插入后触发使用来自另一个表的数据更新同一表

Related 相关文章

  1. 1

    使用来自另一个表的汇总值更新一个表的多个列

  2. 2

    使用VBA使用来自另一个表的值更新访问表

  3. 3

    使用来自另一个表的值更新PHP MYSQL中的表

  4. 4

    oracle使用来自另一个表的列值更新前4个字符

  5. 5

    使用来自另一个表的值更新行时的Postgres错误

  6. 6

    kdb使用来自另一个表的数据更新整个列

  7. 7

    kdb使用来自另一个表的数据更新整个列

  8. 8

    使用来自另一个记录的值更新SQL记录

  9. 9

    sqlite3仅当其他4个列匹配时才使用来自另一个表的数据更新表

  10. 10

    如何使用来自另一个数组的值更新一个NumPy数组?

  11. 11

    使用来自另一个表的值的总和更新表

  12. 12

    使用来自另一个表的信息更新SQL Server中的表

  13. 13

    如何使用来自另一个表Microsoft Access的查询更新表

  14. 14

    SQL-使用来自另一个表的信息更新表

  15. 15

    使用来自查询的另一个表的结果更新表变量

  16. 16

    使用来自另一个表的值的 SQL 更新表

  17. 17

    使用另一个表中的值更新一个表上的列

  18. 18

    Pandas - 使用来自另一个 DF 的值更新/替换列中的值(基于 2 个匹配列)

  19. 19

    使用另一个表的值更新表

  20. 20

    使用来自另一个表的数据将列添加到表

  21. 21

    使用来自另一个表的数据更新特定行

  22. 22

    使用来自另一个数据框的值更新数据框标头

  23. 23

    perl使用来自另一个数据库的值更新oracle数据库

  24. 24

    如何使用来自另一个数据框的随机值更新Pyspark中的数据框?

  25. 25

    使用来自另一个data.frame的查找值更新data.frame中的列-带有子字符串匹配

  26. 26

    使用来自另一个data.frame的查找值更新data.frame中的列-带有子字符串匹配

  27. 27

    使用另一个表的列中的值更新表的列

  28. 28

    使用updateAll()使用同一表的另一个列值更新表列

  29. 29

    插入后触发使用来自另一个表的数据更新同一表

热门标签

归档