当前位置: 首页 > 知识库问答 >
问题:

如何将数据从一个表迁移到另一个表中,表1中的行是表2中的列?

戚祺
2023-03-14

我发现了几个类似的问题,但似乎没有一个能准确回答我的问题,而且我不太擅长SQL,所以这是我的问题:

我有表1有多行;

我想将这些行(特定的行-如name1、name2、name3)迁移到不同表中的一行中,其中列将匹配名称。

下面是表2:

我可能知道如何编写能够做到这一点的SQL,但只能逐行编写。迁移这些数据的好方法是什么?理想情况下,我也会在完成后删除表1中的行。

共有1个答案

严令秋
2023-03-14

我假设您希望聚合结果并插入到一个空表中。查询中的名称不必匹配。相关的是括号之间列出的插入列中名称之间的对应关系,其顺序与选择输出相同。

insert into t2 (id, matchForN1, matchForN2, matchForN3, ...)
select
    id,
    min(name) filter (where name = 'name1') as n1,
    min(name) filter (where name = 'name2') as n2,
    min(name) filter (where name = 'name3') as n3 ...
from t1
where name in ('name1', 'name2', 'name3' ...)
group by id
 类似资料:
  • 问题内容: 我想从一个表中读取所有数据,然后将一些数据插入到另一个表中。我的查询是 但我有一个错误 请帮我。 问题答案: 您可以使用INSERT … SELECT语法。请注意,您可以在SELECT部分​​中直接引用“ 1”。

  • 问题内容: 我想在MySQL中将数据从一个表复制到另一个表。 表1(现有表): 表2(新表) 我想将一些数据字段从表1复制到表2。 可以使用MySQL查询完成吗? 问题答案: 这将做您想要的: 如果要包括table1中的所有行。否则,如果只想添加table1的子集,则可以在末尾添加WHERE语句。 我希望这有帮助。

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

  • 问题内容: 我有看起来像这样的数据: 流程将定期运行并为每个实体评分。该过程将生成数据并将其添加到得分表中,如下所示: 我希望能够为每个实体选择所有实体以及最新记录的分数,从而得到如下所示的一些数据: 我可以使用以下查询获取单个实体的数据: 但是我不知道如何为所有实体选择相同的内容。也许它正盯着我看? 非常感谢您抽出宝贵的时间。 感谢您的好评。我将花几天时间查看首选解决方案是否冒泡,然后选择答案。

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

  • 问题内容: 我有两个具有相同结构的表。我需要从一个表中选择数据,然后将它们存储到另一个表中。 我怎样才能做到这一点? 问题答案: 因为它们是相同的结构,所以您可以做