如果满足两个字段中的条件,如何显示与一个ID关联的多个行

时间:2016-10-27 15:33:27

标签: sql oracle

我在表格中有与单个ID号相关联的条目:

ID      TYPE         ENTITY_ID    Length(TRIM(Translate(entity_ID, ' +-.0123456789',' ')))
--------------------------------------------------------------------------------------
1111    Currency     EURO         4
1111    Issuer       355555       (null)
2222    State        WA           2
2222    Underwriter  Foo Inc      7
2222    Obligor      Alpha Assoc. 12

如果ID#具有发行者或债务人的类型,并且包含义务人或发行人的关联行的Entity_ID列不为空,我想显示与该ID号相关联的所有行,而不仅仅是行/ s不是空的。

这是我目前为止上表的代码:

Select ID, Type, Entity_Id, Length(TRIM(Translate(entity_ID, ' +-.0123456789',' '))) 
  from Meta_Detail where ID in( 1111, 2222)    

根据我上面提到的条件,1111的两行都不会显示,但2222的所有三行都会显示。我怎么能做到这一点?我正在使用Oracle SQL。

由于

1 个答案:

答案 0 :(得分:1)

SELECT * FROM Meta_Detail WHERE ID IN (SELECT ID FROM Meta_Detail
WHERE (TYPE='Obligor' OR TYPE='Issuer' ) AND  ENTITY_ID IS NOT NULL)