根据条件分组/不同列[关闭]
Posted
技术标签:
【中文标题】根据条件分组/不同列[关闭]【英文标题】:Group by/Distinct column based on condition [closed] 【发布时间】:2019-12-04 09:25:09 【问题描述】:我的桌子上有child_entity_id
、parent_entity_id
和entity_name
。一个父母可以有多个孩子。一个孩子可以是一个独立的实体,可能没有父母。在这种情况下,父列将为空。
现在,我需要对每个父母执行一个流程。但是如果父级为空,则需要在子级上执行它。如何从表中获取必要的记录?
Child_Entity_ID Parent_Entity_ID Entity_Name
1011 1000 xxx
1022 1000 yyy
1033 abc
现在我需要执行两次。一个用于父母:1000,另一个用于独立孩子:1033。
预期结果:第 1 行和第 3 行。
进一步处理:需要将 ID 详细信息和实体名称发送到另一个 shell 脚本。
如何实现这一点。请提供任何帮助。
【问题讨论】:
你需要的输出是什么 您正在寻找的只是带有 LEFT JOIN 的 SELECT 语句吗?您需要查看什么,即输出? 你想用这些数据做什么?什么过程?预期输出? 我需要整行,例如,从给定的示例中,我需要第 1 行和第 3 行。我不需要第 2 行。然后Process就是执行一个带有child_entity_id和entity_name等几个派生值的shell脚本 你已经解释过了,但是问题已经结束了。您可以通过多种方式进行操作,最短的是带有first
选项的解析函数,例如dbfiddle demo。
【参考方案1】:
希望,我正确理解了您的问题。要获得唯一的 Parent_Entity_ID
(如果为 null,则为 Child_Entity_ID
),您可以查看以下查询。
select distinct coalesce(Parent_Entity_ID, Child_Entity_ID) from table;
【讨论】:
以上是关于根据条件分组/不同列[关闭]的主要内容,如果未能解决你的问题,请参考以下文章