首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL:处理插入到

SQL:处理插入到
EN

Stack Overflow用户
提问于 2015-05-01 19:47:11
回答 1查看 1K关注 0票数 0

这是一个与这篇文章相关的后续问题:SQL: select records based on certain criteria, merging records that are duplicates

  • 此查询的目标是:从父级的子记录中收集使用联系人记录。
  • 删除由相同的id_val__type和id_emp定义的重复项(因此由id_val__type、id_emp组成组)。最小( id_usg )确保 可以将该字段排除在组之外。
  • 根据结果为父记录创建新的使用联系人记录。

这对于查找和创建记录非常有用:

代码语言:javascript
复制
INSERT INTO USE ( id_val__type, id_emp, sql_temp, id_usg )
SELECT id_val__type, id_emp, MIN ( id_usg ), $idParent
FROM USE
WHERE id_usg IN ( 'childID1','childID2','childID3' ) 
GROUP BY id_val__type, id_emp

但是请注意,我已经创建了一个可以丢弃的列sql_temp。这是必要的,以便在SELECT结果中有相同数量的列,因为其中有要INSERTed进入的列。sql_temp只是一个抛出不必要的id_usg列数据的地方。

要解决的问题:在一个查询中,我如何满足这两个要求:

  • 通过在id_val_type、id_emp (或其他方法)上分组删除重复项
  • 提供要插入的正确列数。

尽管如此,我认为有两个解决方案:

  1. 使用CREATE和DROP临时创建字段
  2. 或-重构SQL,以使id_usg结果列不会阻塞插入到
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-01 19:55:18

这能做你想做的事吗?

代码语言:javascript
复制
INSERT INTO USE ( id_val__type, id_emp,  id_usg )
    SELECT id_val__type, id_emp, $idParent
    FROM USE
    WHERE id_usg IN ('childID1', 'childID2', 'childID3') 
    GROUP BY id_val__type, id_emp;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29994044

复制
相关文章

相似问题

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