여러 테이블 한번에 카운트 가져오기가 가능한가요? 0 3 11,570

by 비니 [SQL Query] [2014.01.14 11:24:01]


안녕하세요

여러 테이블에 카운트만 가져오고 싶은데.. 일일이 쿼리를 날리자니 비효울적인것 같아서요
고수님의 조언을 듣고자 합니다.

예) SELECT COUNT(*) FROM SALES WHERE SDATE = '20100114';
     SELECT COUNT(*) FROM SALES_1 WHERE SDATE1 = '20100114';
     SELECT COUNT(*) FROM SALES_2 WHERE SDATE2 = '20100114';


위 3테이블의 COUNT를 알고자 하는데 위 쿼리처럼 3번을 날리자니 아닌것 같아서요

좋은 방법이 있는지요?

좋은 하루 되세요
by 용근님 [2014.01.14 12:40:04]
한번에 가져오는 방법은 있지만 결국 3번의 Count는 구하게 됩니다.

dbms_xmlgen.getxmltype을 이용하셔도 되고, 또는 아래처럼 카테시안 곱 조인으로 결과를 내셔도 됩니다.


SELECT a.a, b.a, c.a
     FROM
           ( select count(*) a from sales       where sdate   = '20100114' ) a
        ,  ( select count(*) a from sales_1   where sdate1 = '20100114' ) b
        ,  ( select count(*) a from sales_2   where sdate2 = '20100114' ) c

by 비니 [2014.01.14 13:01:24]
감사합니다~

정말 많은 도움 되었습니다~

by 임상준 [2014.01.14 14:14:03]

select 'select '''||table_name||''', count(*) from '||table_name||' union all '
from user_Tables ;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입