테이블 2개를 합쳐서 select 하고 싶은데 여기서 쿼리를 어떻게 바꿔야할까요? 0 2 2,249

by apas [SQL Query] 오라클 테이블 [2023.07.12 18:18:59]


안녕하십니까! DB를 공부중인 학생입니다.

A_TABLE 이라는 테이블과 B_TABLE 이라는 테이블이 있을 때

A_TABLE이라는 테이블에 데이터가 많아 작성일(컬럼명: REGISTER_DATE) 기준으로 제일 최근 글 하나만 가져오게 하고 싶습니다.

쿼리:

SELECT * FROM
(SELECT * FROM A_TABLE WHERE TABLE_ID = 'FIRST' ORDER BY REGISTER_DATE DESC) WHERE ROWNUM = 1;

이렇게 만들었고, 가장 최신 글 하나만 나왔습니다!

그런데 A_TABLE의 컬럼중 하나인 SECOND을 외래키로 가지고 있는

B_TABLE에서도 FILE_NUMBER(첨부파일번호)를 가지고 오도록 SELECT 하고 싶은데 

어떻게 수정할 수 있을까요??
 

by McKee [2023.07.13 11:40:29]

그냥 한번더 SELECT 로 감싸면 되지 않을까요?

SELECT A.* , B.FILE_NUMBER

FROM (SELECT * FROM

(SELECT * FROM A_TABLE WHERE TABLE_ID = 'FIRST' ORDER BY REGISTER_DATE DESC) WHERE ROWNUM = 1) A , B_TABLE B

WHERE A.SECOND = B.SECOND

이렇게 하면 될거 같은데. 더 예쁜 쿼리는 밑에 고수분이..


by 마농 [2023.07.17 10:59:51]

1. 인라인뷰 이용해 조인하시면 됩니다. 위 댓글 참조
2. SELECT 시 * 사용하기 보다는 필요한 항목만 적어 주는 것이 좋습니다.

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