오라클에서 테이블별 특정 컬럼의 MAX 데이터 추출 방법 0 3 1,601

by raksasa [SQL Query] 오라클 테이블 컬럼 데이터조회 [2022.04.20 14:17:30]


오라클 11g 입니다.

전체 테이블에서 각 테이블별 등록일자 컬럼(SYS_REG_DT)의 MAX값을 쿼리로 조회하고 싶습니다.

A,B,C 테이블이 있다면 아래와 같이 출력하고 싶습니다. 

테이블명 / 등록일자 컬럼

A          /  20220102

B          /  20220103

C          /  20220107

 

테이블 정보 쿼리를 잘 활용하면 될거 같은데.... 생각보다 잘 안되네요....

혹시 방법이 있을까요?

 

by 우리집아찌 [2022.04.20 15:23:12]

select * from all_tables 검색하면 필요한 테이블 정보 검색할수 있을겁니다


by 마농 [2022.04.20 16:03:09]
-- 1. 수동
SELECT 'A' t_nm, MAX(sys_reg_dt) dt FROM a
 UNION ALL
SELECT 'B' t_nm, MAX(sys_reg_dt) dt FROM b
 UNION ALL
SELECT 'C' t_nm, MAX(sys_reg_dt) dt FROM c
;
-- 2. 자동
SELECT tname
     , dbms_xmlgen.getxmltype(
       'SELECT MAX(sys_reg_dt) FROM ' || tname
       ).Extract('//text()')
       || '' AS max_sys_reg_dt
  FROM col
 WHERE cname = 'SYS_REG_DT'
;
-- 3. 굳이 자동화 할 필요가 있을까? 생각됩니다. 수동 권장.
-- 4. 참고 : http://gurubee.net/article/61164

 


by raksasa [2022.04.25 08:36:50]

감사합니다

union all로 다 합쳐서 만들어야 하는거군요...ㅎㅎ

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