根据条件分组/不同列

时间:2019-12-04 09:25:09

标签: java sql oracle distinct

我有一张child_entity_idparent_entity_identity_name的桌子。父母可以有多个孩子。子级可以是独立实体,也可以没有父级。在这种情况下,父列将为空。

现在,我需要在每个父级上执行一个过程。但是,如果父级为null,则需要在子级上执行它。如何从表中获取必要的记录?

Child_Entity_ID    Parent_Entity_ID    Entity_Name
    1011                  1000            xxx
    1022                  1000            yyy
    1033                                  abc   

现在我需要执行两次。一个给父母:1000;另一个给独立孩子:1033。

预期结果:第1行和第3行。

进一步处理:需要将ID详细信息和实体名称发送到另一个Shell脚本。

如何实现这一目标。任何帮助。

1 个答案:

答案 0 :(得分:1)

希望,我正确理解了您的问题。要获取唯一的Parent_Entity_ID(如果为null,然后为Child_Entity_ID),则可以检查以下查询。

select distinct coalesce(Parent_Entity_ID, Child_Entity_ID) from table;