>  기사  >  데이터 베이스  >  多个leftjoin重复计数

多个leftjoin重复计数

WBOY
WBOY원래의
2016-06-07 15:54:271349검색

各位大神,今天见到一个sql,如下,查询t1.id有在与t2.id进行左联结时的条数,发现运用了大量重复的左联结,感觉很不好,但又不知道怎么修改这个sql,请指教: create table t1(id number);create table t2(id number,val varchar2(10));select a1.id,count(

各位大神,今天见到一个sql,如下,查询t1.id有在与t2.id进行左联结时的条数,发现运用了大量重复的左联结,感觉很不好,但又不知道怎么修改这个sql,请指教:

create table t1(id number);
create table t2(id number,val varchar2(10));

select a1.id,count(1)
  from t1 a1
  left outer join t2 b1
    on a1.id = b1.id
   and b1.val = 'a'
   left outer join t2 b2
   on a1.id=b2.id
   and b2.val='b'
   left outer join t2 b2
   on a1.id=b2.id
   and b2.val='c'
   left outer join t2 b2
   on a1.id=b2.id
   and b2.val='d'
   left outer join t2 b2
   on a1.id=b2.id
   and b2.val='e'
group by a1.id;


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.