【问题标题】:About join/update/insert SQL query关于 join/update/insert SQL 查询
【发布时间】:2010-03-04 18:39:36
【问题描述】:

我正在制作一个新的 SQLite 数据库。显然,出于多种原因,结构和组织很重要。

我有一个现有的数据库,它是我需要的一切,除了 一列。所以我复制了原始数据库,并想用数据库中不同表中不同列的新数据换出这一列?

我可以这样做吗?哪个查询可以让我这样做?

联接查询只是临时联接,对吗?如果我需要它对数据库结构进行物理更改,我是否使用更新?

我没有大量的 SQL 查询经验,因此非常感谢这里的任何帮助!

【问题讨论】:

  • @Jared:我在你的问题中添加了一些换行符,我认为这使它更容易阅读。希望你同意:)
  • 没问题!感谢您的回答,效果很好!

标签: sql database sqlite sql-update


【解决方案1】:

不知道你的表结构,这将是要走的路:

UPDATE new_table
SET new_column = ( SELECT old_column
                   FROM old_table
                   WHERE old_table.id = new_table.id )

它将new_table 中的new_column 更新为old_table.old_column 的值,其中id 列匹配。

您可以将子选择中的WHERE 子句替换为您必须找到的相关记录。

【讨论】:

    【解决方案2】:

    是的,您可以创建一个查询并将其插入到您的新结构中。我假设您需要从中获取数据的 2 个表之间存在某种链接?

    INSERT INTO TableName (field1, field2, field3) 
    (SELECT field1, field2, Field3
    FROM SomeTable 
    INNER JOIN OtherTable on SomeTable.KeyField = OtherTable.FKField)
    

    【讨论】:

      猜你喜欢
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      • 2011-10-05
      • 2013-08-11
      • 2014-09-09
      • 1970-01-01
      相关资源
      最近更新 更多