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
운영게시판
최근게시물
Oracle Q&A 40113 게시물 읽기
No. 40113
쿼리 문의좀 드립니다.
작성자
김진수
작성일
2013-04-26 11:41ⓒ
2013-04-26 13:47ⓜ
조회수
6,207

테이블 구조가

ID  근무장소  근무월 근무수  금액

1    서울          01         1           100

1    서울          02          1            50

1    부산          01           1           70

이러한 데이터가 있으면요

첫번째 로우와 세번째로우의 근무월이 겹치기때문에

다음과 같이 만들고 싶습니다.

겹칠때 근무수를 0으로 만드는 조건은 금액이 큰쪽이 우선입니다.

즉 같은 아이디인데 장소가 다를지라도 근무월이 같다면 근무수를 둘중 하나를 0으로 만들고 싶은데요

금액이 적은쪽이 0이되는겁니다. 쿼리로 가능할까요?

----------------------------------------------------------

ID  근무장소  근무월 근무수  금액

1    서울          01         1           100

1    서울          02          1            50

1    부산          01           0           70

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

SELECT
ID,근무장소,근무월
,DECODE(RN,1,근무수,0) 근무수
,금액
FROM
(
SELECT
테이블.*
,ROW_NUMBER() OVER (PARTITION BY 근무월 ORDER BY 금액 DESC) RN
FROM 테이블
)A
 

참고해보세요~

왕초보님이 2013-04-26 14:10에 작성한 댓글입니다. Edit

SELECT id
     , place
     , month
     , CASE WHEN cnt > 1 AND rk = 1
            THEN 0
            ELSE wrkcnt
        END
     , amt
  FROM (
        SELECT id
             , place
             , month
             , amt
             , wrkcnt
             , ROW_NUMBER () OVER ( PARTITION BY id
                                               , month
                                        ORDER BY id
                                               , amt
                                  ) as rk
             , COUNT (*)   OVER ( PARTITION BY id
                                             , month
                                ) as cnt
             
          FROM t#
)

채용근(taiji97)님이 2013-04-26 14:11에 작성한 댓글입니다.
이 댓글은 2013-04-26 14:12에 마지막으로 수정되었습니다.

두분다 감사드립니다.

김진수님이 2013-04-26 16:43에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40116잡스케쥴을 등로을 했는데요. 급.ㅠ.ㅠ [1]
새하정
2013-04-29
5890
40115Oracle 잡스케쥴 등록을 해보려합니다.
새하정
2013-04-29
6033
40114프로시져생성을 하려합니다.. [5]
새하정
2013-04-26
6813
40113쿼리 문의좀 드립니다. [3]
김진수
2013-04-26
6207
40112여러 무림 고수님들 (Select후 결과 Update) 문의 드립니다. [17]
허접떼기
2013-04-26
6222
40111insert update 두가지를 동시에 처리를 하려고 합니다. [1]
오라클
2013-04-26
7723
40110insert 와 update를 동시에 못 하나요? [1]
오라클
2013-04-25
6055
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다