sql SQLite不支持更新查询中的联接,这使得在基于多个选项卡中的信息进行更新时出现一些复杂性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql SQLite不支持更新查询中的联接,这使得在基于多个选项卡中的信息进行更新时出现一些复杂性相关的知识,希望对你有一定的参考价值。

UPDATE cars
  SET

    /* We don't have row values introduced in version 3.15.0 (2016-10-14.) */
    model = (
      SELECT u.new_model
        FROM cars c natural join mod_bod_upd u
        WHERE cars.rowid = c.rowid),
    body = (
      SELECT u.new_body
        FROM cars c natural join mod_bod_upd u
        WHERE cars.rowid = c.rowid)

  /* Specify only rows that will have a value to set, otherwise model and body
     will be set to null. */
  WHERE cars.rowid IN (
    SELECT c.rowid
      FROM cars c natural join mod_bod_upd);

以上是关于sql SQLite不支持更新查询中的联接,这使得在基于多个选项卡中的信息进行更新时出现一些复杂性的主要内容,如果未能解决你的问题,请参考以下文章

与某些表联接时更新查询的语法错误

联接 (SQL Server)

在 Oracle 上使用内部联接更新语句

跨多个列的 SQL 联接

带有子查询的 Oracle 更新 - 性能问题

如何使用 Spark sql 在 Databricks 中使用内部联接更新 Databricks Delta 表