【发布时间】:2020-12-14 13:58:28
【问题描述】:
我正在尝试使用 SQLite 从主表 (mutants.info) 中检索数据,并将该表中的数据插入到辅助表 (mutants.teams) 中。主表有多个列,但我只对从中检索数据感兴趣,称为“团队”。我的目标是让脚本从“团队”字段/列中检索数据并将该数据插入到辅助表中,然后计算某个团队名称出现在该字段中的次数。
我编写了以下 SQLite 脚本,但它没有按照我想要的方式填充辅助表。
INSERT OR REPLACE INTO "mutants.teams" (team,members) Values(
(SELECT team FROM "mutants.info"),
(SELECT COUNT(*) FROM "mutants.info" WHERE team = (SELECT team FROM "mutants.info"))
);
当我尝试运行此脚本时,它会使用在主表的“团队”列中看到的第一个“团队名称”填充辅助表,但不会填充存在于“团队”字段。如何让这个脚本拉入出现在“团队”列中的其他“团队名称”?
表配置如下:
+-----------------------------------------------------------+
| main |
+-----------------------------------------------------------+
|id |mutant |powers |team |location |
+-----------------------------------------------------------+
|1 |Veto |Psionic |Ninjas |China |
+-----------------------------------------------------------+
|2 |Wrecker |Enhanced Strength |The Crew |Chicago |
+-----------------------------------------------------------+
|3 |Atlas |Godlike Powers |The Gods |Heaven |
+-----------------------------------------------------------+
|4 |Aria |Sonic Energy Powers|The Crew |Chicago |
+-----------------------------------------------------------+
+-----------------------+
| secondary |
+-----------+-----------+
| team | members |
+-----------+-----------+
| The Crew | 13 |
+-----------+-----------+
| Ninjas | 27 |
+-----------+-----------+
| The Gods | 127 |
+-----------+-----------+
| Chosen | 600 |
+-----------+-----------+
脚本的目标是从主表中的团队字段中检索数据,并使用该信息填充第二个表,然后计算团队名称在主表中出现的次数。
我很难获得正确的编码来从第一个表中检索这些数据并将其插入到第二个表中。如果有人可以帮助我解决此问题,我将不胜感激。
【问题讨论】:
-
简单的
INSERT INTO Target (Column) SELECT Column FROM Source有什么问题? -
这能回答你的问题吗? sqlite insert into table select * from
标签: sql sqlite count sql-insert