使用where子句将两个表中的数据合并到一个表中

Posted

技术标签:

【中文标题】使用where子句将两个表中的数据合并到一个表中【英文标题】:Bring the data from two tables into one table with where clause 【发布时间】:2017-01-15 13:40:37 【问题描述】:

我有两个文件已批量导入到两个日期重叠的表中。现在我想将两个表中的数据移动到一个新表中,但删除重叠的日期。这是我的代码:

-- Pull across data from P1-10 and exclude out of scope dates
SELECT      *
INTO        I_Inventory
FROM        I_Inventory_P10_Temp
WHERE       [date] >= '01/01/2016' and [date] <= '10/31/16'

-- Pull across data from P11-12 and exclude out of scope dates
SELECT      *
INTO        I_Inventory
FROM        I_Inventory_P12_Temp
WHERE       [date] >= '11/01/2016' and [date] <= '12/31/16'

但是这不起作用,因为它说在第一次选择后表已经存在。有人可以让我知道如何解决这个问题吗?我对 SQL 很陌生。

【问题讨论】:

查看 UNION ALL。 【参考方案1】:

使用UNION ALL合并结果,然后插入到表中

SELECT      *
INTO        I_Inventory
FROM        I_Inventory_P10_Temp
WHERE       [date] >= '01/01/2016' and [date] <= '10/31/16'
Union All
-- Pull across data from P11-12 and exclude out of scope dates
SELECT      *
FROM        I_Inventory_P12_Temp
WHERE       [date] >= '11/01/2016' and [date] <= '12/31/16'

【讨论】:

两个不同的表,所以前两个查询不起作用。 @jarlh - 谢谢没看到 ;)

以上是关于使用where子句将两个表中的数据合并到一个表中的主要内容,如果未能解决你的问题,请参考以下文章

oracle中两张表中的两个字段值的模糊比对

从 Snowflake 中的表中选择随机百分比(使用 WHERE 子句时)

在excel中如何将第一个工作表中的数据求和汇总到另一个表中

跳出查询以在存储过程中从单独的表中获取 where 子句

如何根据数据透视表中两列(两个外键)中的 ID 返回相关模型?

在 WHERE 子句中使用 SELECT 查询