database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30989 게시물 읽기
No. 30989
테이블 두개 결합후 최신 데이터 조회하는 쿼리 문의입니다.
작성자
kevin(snjack)
작성일
2016-09-10 18:22ⓒ
2016-09-10 19:16ⓜ
조회수
7,236

 

전체 쿼리는 다음과 같습니다.

 

SELECT K.NO, MAX(K.REG_DATE) AS REG_DATE, REG_ID

FROM (  

SELECT NO, REG_DATE, REG_ID     

FROM RECRUIT_FIELD_COMMENT   

UNION

SELECT NO, REG_DATE, REG_ID      

FROM RECRUIT_FIELD_COMMENT_DETAIL           

) AS K   

GROUP BY K.NO 

 

즉 두개의 같은 형식의 테이블을 UNION한 후 NO로 GROUP BY한 후 

최신 데이터를 뽑는 내용입니다.

날짜는 최신데이터를 가져옵니다.

그런데 이때 최신 데이터를 가진 행의 REG_ID을 조회 해 보면 

UNION으로 병합할 때 무조건 첫번째 테이블에서만 가져오더군요

 

SQL초보입니다.

고수닙들의 도움이 절실합니다.

감사합니다.

 

 

이 글에 대한 댓글이 총 1건 있습니다.

 

SELECT K.NO, MAX(K.REG_DATE) AS REG_DATE, REG_ID

FROM (  

SELECT NO, REG_DATE, REG_ID     

FROM RECRUIT_FIELD_COMMENT   

UNION

SELECT NO, REG_DATE, REG_ID      

FROM RECRUIT_FIELD_COMMENT_DETAIL           

        ORDER BY REG_DATE DESC

) AS K   

GROUP BY K.NO

위와같이 ORDER BY를 주니까 되네요.

그런데 위와같이 NO로 GROUP BY하고 REG_EDIT에 대해서 

MAX값을 가져오는데 굳이 병합하는 테이블에  ORDER BY 하는 이유를 모르겠네요. ㅠㅠ

혹시 이유를 아시는 고수님들  속을 풀어 주시기 바랍니다.

 

kevin(snjack)님이 2016-09-12 10:40에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30992created_at, updated_at을 입력하는 이유
박기훈
2016-09-28
6941
30991다중 검색 팁 질문
앨리스
2016-09-20
6906
30990mysql log파일 관련 질문입니다. [2]
언제늘련지
2016-09-19
7032
30989테이블 두개 결합후 최신 데이터 조회하는 쿼리 문의입니다. [1]
kevin
2016-09-10
7236
30987테이블에 값이 검색된 컬럼 찾기 도움요청 드립니다
궁금이
2016-08-31
7303
30985쿼리문의 드려요..
tripy
2016-08-22
7330
30984subquery index
김하늘
2016-08-20
7145
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다