首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server从tbl2插入tbl1,其中tbl1.column1,<> tbl2.column1

Server从tbl2插入tbl1,其中tbl1.column1,<> tbl2.column1
EN

Stack Overflow用户
提问于 2021-10-26 09:15:17
回答 1查看 99关注 0票数 0

我有两个表,它们有相同的列。正如主题标题所述,我想在第二个表中插入第一个表的记录,其中同一列的值是不同的。

我试过:

代码语言:javascript
复制
SELECT * FROM Table1 INNER JOIN Table2 ON Table2.column1 <> Table1.column1;

代码语言:javascript
复制
SELECT * FROM Table1, Table2 WHERE Table1.column1 <> Table2.column1;

但是结果是从两个表中复制的值,我认为这是因为我从两个表中进行选择。

如果我这样做的话:

代码语言:javascript
复制
INSERT INTO Table2 SELECT * FROM Table1 WHERE Table1.column1 <> Table2.column1;

它使我犯了一个错误:

表2.列1‘

中的L’标识

EN

回答 1

Stack Overflow用户

发布于 2021-10-26 09:21:52

除非指定正在讨论的行,否则不能比较列值。在您的例子中,它听起来就像“哪个行”是“Table2中的任何行”这个问题的答案,因此您可以将存在量词应用到Table2的行中,以决定要插入哪些行的Table1。长话短说,您可以告诉SQL插入缺少的行。

相应的SQL如下:

代码语言:javascript
复制
INSERT INTO Table2
    SELECT * FROM Table1 t1
    WHERE NOT EXISTS (
        SELECT * FROM Table2 t2
        WHERE t1.column1 = t2.column1
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69720425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档