sql - 选择具有不同列名的表

标签 sql sqlite sql-insert

在 SQL 中,Select into ... 将行复制到不同的(备份)表中。如果备份表具有不同的结构(或不同的列名),这可能吗?如果不是,实现这一目标的最佳方法是什么?

这是我想要做的:TableA 有列 a1,a2,a3。我想将此表中的一些行复制到另一个表 TableB 中,该表具有 b1,b2,b3,b4 列。 a1的内容进入b1a2进入b2

最佳答案

列名根本不重要,只要数据类型匹配(或者可以在赋值中转换)。

如果列的数据类型不匹配,请尝试相应地转换值。 只需尝试使用小型虚拟表格。请务必明确列出目标列以避免混淆。像这样:

INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM   TableA
WHERE  <some condition>;

SQLite 手册中有更多详细信息 here .

关于sql - 选择具有不同列名的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560386/

相关文章:

sql - 从另一个 TABLE (Oracle) 更新 TABLE 中的多个列

database - 如何打开核心数据数据库?

sql - 在 SQL Server 2008 中插入/更新大量数据的最佳实践

mysql - 是否可以从 MySQL 中的查询结果创建计算行?

mysql - 根据自定义条件清除重复行

Android 应用程序(Samsung Galaxy Tab,2.2)*有时*不写入数据库

sqlite - 如何读取 SQLite 表中的最后一条记录?

MySQL:插入后获取AUTO INCREMENT序列号?

c# - '.' SQL INSERT c# 附近的语法不正确

MySQL查看: Order By then Group By (with a join thrown in for luck)