gpt4 book ai didi

sql - 从另一个不存在记录的表插入到表中

转载 作者:行者123 更新时间:2023-12-02 17:19:13 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何从临时表 (temp) 插入现有表 (tbl01),而现有表 (tbl01) 中尚不存在记录。我希望这是有道理的。我基本上是在尝试使用自上次更新表以来发生的记录来更新表。到目前为止,这是我的代码:

insert into tbl01
(sale_store, sale_dt, sale_register, sale_trans)
select distinct
sale_store, sale_dt, sale_register, sale_trans
from temp
where NOT EXISTS (select * from tbl01)

我遇到的问题是它运行了,但没有将任何新记录放入表中 - 应该有很多新记录。我确定这是我所缺少的小而愚蠢的东西。我用这篇文章作为指导:How to avoid duplicates in INSERT INTO SELECT query in SQL Server?

提前致谢!

最佳答案

问题是您的内部查询不以任何方式依赖于临时表。基本上,您写的是“如果 tbl01 中不存在记录,则插入 tbl01”。要修复它,您需要在 exists 中的查询中添加一个 where 子句:

insert into tbl01
(sale_store, sale_dt, sale_register, sale_trans)
select distinct
sale_store, sale_dt, sale_register, sale_trans
from temp
where NOT EXISTS (
select *
from tbl01
where temp.sale_store = tbl01.sale_store
and temp.sale_dt = tbl01.sale_dt
and temp.sale_register = tbl01.sale_register
and temp.sale_trans = tbl01.sale_trans)

关于sql - 从另一个不存在记录的表插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44161331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com