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 7017 게시물 읽기
No. 7017
물품관리에서 입고 출고된것 모두 제거하고 싶습니다.
작성자
빨간운동화
작성일
2016-12-13 13:47
조회수
2,370

 자료는 아래와 같습니다.

물품번호  구분  주문번호  주문일자    

A1234      입고   123456   20161201

A1234      반품   123456   20161207

 

위와 같이 데이터가 있으면 업무처리를 12월12일 최종확인하면서

반품된것까지 제외할려고 합니다. 즉 A1234의 물품은 입고처리에서 빠지게 하고 싶습니다.

테이블은 한번만 읽고 가능할런지요.

 

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

WITH t(item_no, gb, order_no, order_dt) AS
(
SELECT 'A1234', '입고', 123456, '20161201' UNION ALL
SELECT 'A5678', '입고', 123456, '20161201' UNION ALL
SELECT 'A1234', '반품', 123456, '20161207'
)
-- 1. 셀프조인 --
SELECT a.*
  FROM t a
  LEFT OUTER JOIN t b
    ON b.gb = '반품'
   AND a.item_no = b.item_no
   AND a.order_no = b.order_no
 WHERE a.gb = '입고'
   AND b.gb IS NULL
;
-- 2. 분석함수 --
SELECT item_no, gb, order_no, order_dt
  FROM (SELECT item_no, gb, order_no, order_dt
             , LEAD(gb) OVER(PARTITION BY order_no, item_no
                                 ORDER BY order_dt) x
          FROM t
        ) a
 WHERE gb = '입고'
   AND x IS NULL
;

마농(manon94)님이 2016-12-14 11:20에 작성한 댓글입니다.

 예 마농님 감사합니다.

여러모로 도움이 많이 되고 있습니다.  감사합니다.

빨간운동화님이 2016-12-15 17:42에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7020DB어떻게 만들어야 할까요 ? [1]
Ham
2016-12-26
2152
7019ms-sql summary 출력 도움 부탁드립니다. [2]
개발자
2016-12-22
2380
7018distinct 혹은 group by 문의 [3]
이정훈
2016-12-13
2252
7017물품관리에서 입고 출고된것 모두 제거하고 싶습니다. [2]
빨간운동화
2016-12-13
2370
7015SQL Server Managerment Studio Express 공급자 속성 비활성화 [2]
도우덕
2016-11-23
2557
70142개의 select을 [4]
썬큐스트
2016-11-10
2985
7013두날짜사이 연속된 날짜를 추출할 수 있을까요?? [4]
빨간운동화
2016-11-03
3532
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.012초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다