SQLite Insert into table multiple columns from another table

问题描述 投票:0回答:0

我是 SQL 的新手并尝试插入表 A,表 B 中的值使用选择自动检索列,并使用自定义字符串作为手动值插入其中一列。

两个表都有相同的列,其中表A由表B提供:

来源 价值 类型 类别 子类别 详情
卡片 1.00 收入 政府 政府费用
卡片 2.00 收入 电话 手机
钱包 3.00 收入 功率 电力公司

我正在尝试使用以下方法从表 B 填充表 A:

INSERT INTO tableA(源、值、类型、类别、子类别、详细信息) VALUES ('card & wallet', (SELECT SUM(Value), Type, Category, SubCategory, Details FROM tableB WHERE Type='income' GROUP BY Category, SubCategory ORDER BY SUM(Value) DESC));

结果,我收到错误:“解析错误:6 列有 2 个值”。

因为我想用手动字符串“card & wallet”替换列“Source”的行并自动加载其余部分,似乎它将 select 中的列视为单个值,而不是分别考虑 5 列。

如果我按以下方式运行它会起作用:

INSERT INTO tableA(源、值、类型、类别、子类别、详细信息) 选择源、SUM(值)、类型、类别、子类别、详细信息来自 tableB WHERE Type='income' GROUP BY Category、SubCategory ORDER BY SUM(Value)DESC;

感谢任何提示。

sqlite sql-insert
© www.soinside.com 2019 - 2024. All rights reserved.