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
운영게시판
최근게시물
MS-SQL Q&A 5922 게시물 읽기
No. 5922
MSSQL 쿼리질문요..
작성자
최범선(bumsun11)
작성일
2011-07-26 15:55
조회수
6,573

고수님들께 문의드립니다..

아래와 같이 4개의 테이블이 있습니다.

 

Name 입고일
사과 2011-04-11
2011-05-12

Name 입고일
딸기 2011-07-13
포도 2011-05-15

Name 입고일
수박 2011-07-26
참외 2011-05-10

Name 입고일
바나나 2011-07-14
오렌지 2011-07-10

 

 

4개의 테이블을 조인해서 입고일이 가장 빠른 품목중 상위 4가지 품목을 아애와 같이 가져오려합니다..

Name 입고일
수박 2011-07-26
바나나 2011-07-14
딸기 2011-07-13
오렌지 2011-07-10

현재는 무식하게 4개의 테이블을 union 조인해서

(select Name,insertdate from A) union

(select Name,insertdate from B) union

(select Name,insertdate from C) union 

(select Name,insertdate from D) union ordby by insertdate desc

상위 4개의 값을 구하고 싶은데 원하는 값이 안나옵니다.

고수님들의 많은 가르침 부탁드립니다.

 

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

with a as (
select '사과' nm, '2011-04-11' dt union all
select '배', '2011-05-12'
),   b as (
select '딸기' nm, '2011-07-13' dt union all
select '포도', '2011-05-15'
),   c as (
select '수박' nm, '2011-07-26' dt union all
select '참외', '2011-05-10'
),   d as (
select '바나나' nm, '2011-07-14' dt union all
select '오렌지', '2011-07-10'
)
select nm, dt
  from (
         select nm, dt, row_number()over(order by dt desc) rn
           from (
                  select * from a union all
                  select * from b union all
                  select * from c union all
                  select * from d
                ) x
       ) x
 where rn <= 4

知音(sunnylee72)님이 2011-07-26 16:38에 작성한 댓글입니다.

with a as (
select '사과' nm, '2011-04-11' dt union all
select '배', '2011-05-12'
),   b as (
select '딸기' nm, '2011-07-13' dt union all
select '포도', '2011-05-15'
),   c as (
select '수박' nm, '2011-07-26' dt union all
select '참외', '2011-05-10'
),   d as (
select '바나나' nm, '2011-07-14' dt union all
select '오렌지', '2011-07-10'
)
select top 4
       nm, dt
  from (
         select * from a union all
         select * from b union all
         select * from c union all
         select * from d
       ) x
 order by dt desc

知音(sunnylee72)님이 2011-07-27 00:24에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5926mssql 쿼리 질문입니다. [4]
안효수
2011-08-04
6902
5925원격 서버 데이터베이스 접근 Select [1]
김명호
2011-08-03
6712
5924쿼리 질문...count 관련 [1]
최지훈
2011-07-27
6650
5922MSSQL 쿼리질문요.. [2]
최범선
2011-07-26
6573
5921mssql 2005 사용중인데요 백업후 복구 할려고 합니다. [1]
임두환
2011-07-21
7333
5920[질문]2000에서는 되는데 2005에서는 안됩니다. [1]
최병련
2011-07-18
6367
5919cursor내 openquery 변수처리문제입니다.
김재기
2011-07-14
7233
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다