瑾瑜i 2023-08-18 13:25 采纳率: 33.3%
浏览 1

关联表历史数据copy值如何与新值对应

两张表 wb_app 和 group ,wb_app是 group 与 app 关联表

create table wb_app
(
    id            char(32)                            not null
        primary key,
    org_id        char(32)                            not null,
    group_id      char(32)                            not null ,
    app_id        char(32)                            not null 
)

create table group
(
    id              char(32)                            not null
        primary key,
    org_id          char(32)                            not null ,
    group_name      varchar(20)                         not nulltype  varchar(20)  
)

现wb_app有一批历史关联数据,执行以下语法基于历史group生成一些新的group

insert into  wb_group(id, org_id,  group_name,type)
select MD5(UUID()), org_id, group_name,  '1' from wb_group  where type = '0';

问:如何在wb_app中生成一批数据,基于历史的数据,copy一份,将group_id与新生成的group对应

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-18 16:28
    关注

    【以下回答由 GPT 生成】

    首先,我们可以使用INSERT INTO ... SELECT语句来将历史数据复制到wb_app表中,并在此过程中生成新的group_id

    INSERT INTO wb_app (id, org_id, group_id, app_id)
    SELECT MD5(UUID()), wb_app.org_id, new_group.id, wb_app.app_id
    FROM wb_app
    JOIN `group` old_group ON wb_app.group_id = old_group.id
    JOIN `group` new_group ON old_group.type = '0' AND old_group.org_id = new_group.org_id;
    

    在这个查询中,我们使用JOIN语句将wb_app表与group表关联起来,并通过GROUP表的条件将旧的group与新的group关联起来。通过这种方式,我们可以在复制历史数据的同时为新的wb_app条目分配新的group_id

    然后,我们可以使用UPDATE语句将新生成的group_id与新生成的group关联起来。

    UPDATE wb_app
    JOIN `group` new_group ON wb_app.org_id = new_group.org_id
    SET wb_app.group_id = new_group.id
    WHERE wb_app.group_id IN (SELECT id FROM `group` WHERE type = '0');
    

    通过将wb_app表与新生成的group表关联起来,并使用UPDATE语句将新的group_id分配给相应的wb_app条目,我们可以将新生成的数据与新生成的group关联起来。

    请注意,以上代码只是给出了解决问题的示例,具体的实现可能因数据库引擎和环境设置而有所不同。还请根据实际情况进行调整和测试。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月18日

悬赏问题

  • ¥15 关于imageENview(ImageEN)中新建图层并根据鼠标位置添加图标
  • ¥100 用两台电脑局域联网进行MT5的EA参数优化,但是连接不上
  • ¥15 FastAPI报错: AsyncSession不是有效Pydantic类型
  • ¥50 这Mac系统提示虚拟内存不足,怎么解决
  • ¥15 Rs232电路无法收发数据,求帮助
  • ¥15 百度cookie扫码登录器
  • ¥15 微机原理汇编语言debug调试实验
  • ¥23 matlab可以把相图转换为庞加莱映射吗
  • ¥15 Arduino电机和openmv连接异常
  • ¥15 Arcgis河网分级报错