当前位置: 首页 > 面试题库 >

sql根据条件从另一个表插入行

薛泰
2023-03-14
问题内容

考虑以下两个表

表格1

ID    DATA
1      'A'
2      'B'
3      'C'
4      'D'
5      'E'
6      'F'

表2

ID    DATA
2       'G'
3       'F'
4       'Q'

如何在表2没有表1的ID的情况下从表2将数据插入表1?

换句话说,我想要以下结果:

表2

ID    DATA
1       'A'
2       'G'
3       'F'
4       'Q'
5       'E'
6       'F'

问题答案:

在你的问题的措辞有点混乱,因为你首先要问 我如何将数据插入 表1 从表2中 但此时你显示了预期的结果 表2

现在,如果您想使用table2id中不存在的s将table1中的行插入table2中,则可以使用这种方式

INSERT INTO Table2 (id, data)
SELECT id, data
  FROM Table1 t
 WHERE NOT EXISTS
(
  SELECT * 
    FROM Table2
   WHERE id = t.id
)

这是 SQLFiddle 演示

或者

INSERT INTO Table2 (id, data)
SELECT t1.id, t1.data
  FROM Table1 t1 LEFT JOIN Table2 t2
    ON t1.id = t2.id
 WHERE t2.id IS NULL;

这是 SQLFiddle 演示

结果(在两种情况下):

| ID | 数据|
| ---- | ------ |
| 1 | A |
| 2 | G |
| 3 | F |
| 4 | 问|
| 5 | E |
| 6 | F |


 类似资料:
  • 问题内容: 我有2个不同的表,但各列的命名略有不同。我想从一个表中获取信息,然后将其放入另一个表中。仅当表1中的“信息字段”不为null时,才需要将表1中的信息放入表2中。表2在创建任何东西时都有一个唯一的ID,因此插入的任何东西都需要获得下一个可用的ID号。 表格1 表2 问题答案: 这应该工作。您无需担心Table2中的identify字段。

  • 问题内容: 我试图将数据从一个表插入到另一个表,这是我收到的错误消息: 错误:将INERT插入到content2(d1,d2,d3)值(John,Doo,24); 错误:在字段列表中插入未知列’John’错误:INSERT INTO content2(d1,d2,d3)VALUES(Mary,Moe,36); ‘字段列表’中的未知列’Mary’错误:INSERT INTO content2(d1,

  • 问题内容: 我有这段代码可以从“ jobseeker”表中选择所有字段,并可以通过将userType设置为“ admin”来更新“ user”表,其中userID =$ userID(此userID是我用户中的一个用户数据库)。然后,该语句应将这些值从“ jobseeker”表插入到“ admin”表中,然后从“ jobseeker表”中删除该用户。sql表很好,我的语句正在将userType更改

  • 问题内容: 我想从一个表中读取所有数据,然后将一些数据插入到另一个表中。我的查询是 但我有一个错误 请帮我。 问题答案: 您可以使用INSERT … SELECT语法。请注意,您可以在SELECT部分​​中直接引用“ 1”。

  • 问题内容: 我是Java8的新手。我需要根据某些条件(从另一列表中)减去/删除一个列表中的POJO,并将其显示在UI上。 迭代一个列表并搜索条件删除对象将原始列表发送到UI ..主要代码.. 有没有更好的方法来处理循环?任何帮助表示赞赏。 问题答案: 你现在所拥有的代码工作完美,但也因为通过迭代的每一个。改善的一种方法是将每个孩子的存储在中,如果其中包含每个孩子,则将其从中删除:

  • 我试图在从一个表创建一个值后将其插入另一个表我有两个数据库“mem”和“location” 我想从mem表中添加主键id,并将其插入到位置表中的user_id列中。 我有一个sql查询在我的注册表单页面,自动递增'id'在mem表中,但似乎没有添加相同的值到位置表中的user_id, 有人能帮忙吗!