关于join / update / insert SQL查询

时间:2010-03-04 18:39:37

标签: sql database sqlite sql-update

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

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

我能这样做吗?哪个查询会让我这样做?

联接查询暂时加入,对吧?如果我需要在物理上对db结构进行更改,我是否使用update?

我没有大量的SQL查询经验,所以任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:1)

在不知道你的表结构的情况下,这将是最佳选择:

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

它会更新new_columnnew_table的值old_table.old_column,其中id列匹配。

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

答案 1 :(得分:1)

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

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