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 40156 게시물 읽기
No. 40156
고수님들 부탁드립니다.
작성자
마르스헤븐(jst2235)
작성일
2013-06-11 16:04
조회수
6,061

영화 본 인원수를 구하는 쿼리에 대해 질문좀 드리겠습니다. 너무 막막하여 고수님들께 도움 요청합니다.

테이블 A :

영화본 사람의 숫자:  NUMBER  

영화 본 날짜 : DATE    (2012년 1월에서 2012년 12월까지)

테이블 B :

영화 예매한 사람  :   INOUT=' I'  (알파벳 I)

영화  예매하지 않고 본사람   :  INOUT='O' (알파벳 0)

이렇게 테이블이 나누어져 있다고 하고

영화 본사람의 전체수와  영화 예매한 사람의 수, 그리고 영화를 예매하지 않고 본사람의 숫자를 구할려고 합니다.  영화를 예매하지 않고 본사람의 수를 구할려고 할때 영화 예매한 사람의 수를 뺄려고 합니다. 어떻게 해야 할지 막막하네요.

영화를 예매하듯 그냥 예매하지 않고 본 사람의  카운터는 같이 올라가는 구조입니다. 예매를 해도 영화를 본것이 되는 구조입니다.

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

테이블 구조와 원하시는 결과를 제대로 이햐를 못했는데요.

테이블  A, B 구조를 좀더 정보를 주시면 (연결고리 등...) 도움이 될듯 해요.

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

 SELECT 상영일자, CNT ,IRES_CNT, ORES_CNT
   FROM (
     SELECT TO_CHAR(상영일자, 'YYYY-MM-DD') MOVIE_DAY -- 상영일자
          , CNT                                       -- 영화 본 사람                 
       FROM 테이블 A
      WHERE 상영일자 BETWEEN FROM_DATE AND TO_DATE
   ) X ,
   (
     SELECT TO_CHAR(상영일자,'YYYY-MM-DD') MOVIE_DAY
          , NVL(SUM(DECODE(INOUT,'I',1)),0) IRES_CNT   -- 영화 예매한 사람
          , NVL(SUM(DECODE(INOUT,'O',1)),0) ORES_CNT   -- 영화 예매하지 않고 본사람
       FROM 테이블B
      WHERE 상영일자 BETWEEN FROM_DATE AND TO_DATE
      GROUP BY TO_CHAR(상영일자,'YYYY-MM-DD')
   ) Y
   WHERE X.상영일자 = Y.상영일자
 ;

forever님이 2013-06-24 18:19에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40160요일별로 관리되는 교사 테이블 만들기
아폴론
2013-06-15
6504
40158관계된 하위 리스트의 갯수 가져오기 [3]
바램
2013-06-13
6583
40157Where 절 작성법? (LIKE?) 초보적질문 [5]
푸르미
2013-06-13
6530
40156고수님들 부탁드립니다. [1]
마르스헤븐
2013-06-11
6061
40154to_char(to_date 문의 드립니다. [2]
김진
2013-06-07
6948
40153작업 스케쥴러 등록 오류 나옵니다. [1]
초보자
2013-06-07
6652
40152Function 이나 Procedure 에서 Web Service 수행 [1]
박희영
2013-06-05
7288
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다