SQLite:使用条件将字段从一个表复制到另一个表

时间:2016-06-02 12:36:28

标签: sqlite insert

我找到了很多关于将数据从一个表复制到另一个表的答案。但是如何使用除经典方法之外的子句:

INSERT INTO T2 (field1, field2) SELECT field1, field2 FROM T1;

我想将X字段从T1复制到T2,但T2.T1_id = T1.id。

类似的东西:

INSERT INTO bottles (volume_id, container_id) SELECT volume_id, container_id FROM wines, bottles WHERE bottles.wine_id = wines.id

事实上,我想将 volume_id,container_id 从葡萄酒转移到瓶子中,但是用于与每种葡萄酒相对应的瓶子。

我需要更新吗?

像这样的东西是可能的吗?

INSERT INTO bottles (volume_id, container_id) VALUES (SELECT volume_id, container_id FROM wines, bottles WHERE bottles.wine_id = wines.id) WHERE bottles.wine_id = wines.id

谢谢!

编辑

示例当前数据

table wines
-----------
id: 1
volume_id: 14
container_id:3
-
id: 2
volume_id: 15
container_id:4

table bottles
-------------
id: 1
wine_id: 1
-
id:2
wine_id: 1
-
id:3
wine_id: 2

新想要的数据

table wines
-----------
id: 1
...
-
id: 2
...

table bottles
-------------
id: 1
wine_id: 1
volume_id: 14
container_id:3
-
id:2
wine_id: 1
volume_id: 14
container_id:3
-
id:3
wine_id: 2
volume_id: 15
container_id:4

0 个答案:

没有答案