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 40569 게시물 읽기
No. 40569
이 두쿼리의 결과가 왜 다른거죠...아우터조인시..
작성자
DBA희망자(cjfqkd)
작성일
2014-09-12 11:19
조회수
7,630
쿼리를 말로 표현하기 힘들어서 붙여넣기를 했습니다...간단히 요약하자면 2개의 ROW를 가진 테이블(각각,Y,N) 과 여러개의 ROW를가진 테이블(조인햇을시에 조인되는부분이없는테이블)과
아우터조인시 원테이블의 결과가 (Y,N) 에서 (N,N) 으로 결과가 나오게되는현상.... 원테이블만 SELECT 시에는 Y,N 결과값이 정상적으로나옴...
 
상단 결과의 ACCEPT_YN 의경우 ROW가 2라인이 생기는데 N,N이 결과로 나오고
아래 쿼리의 경우는 Y,N으로 나옵니다 실제 원테이블은 Y,N으로 등록되어있습니다
왜 다른지 이해가 가질 않습니다 ㅠㅠ 고수분들 도와주십시요.
 
 
---------------------------------------------
 SELECT MST.AGREE_NO1   ,MST.AGREE_NO2 ,MST.AGREE_NO3 ,MST.AGREE_NO4         
               ,MST.AGREE_CHASU ,MST.AGREE_SEQ ,MST.ACCEPT_YN      
 FROM   SCM_AGREE_WONJAJAE MST                                                                       
      ,(SELECT AGREE_NO1,AGREE_NO2,AGREE_NO3 ,AGREE_NO4     
              ,AGREE_CHASU,AGREE_SEQ                         
              ,MAX(ACCEPT_YN) ACCEPT_YN                     
        FROM  (SELECT AGREE_NO1,AGREE_NO2,AGREE_NO3 ,AGREE_NO4     
                     ,AGREE_CHASU,AGREE_SEQ                        
                     ,MAX(ACCEPT_YN) ACCEPT_YN                     
               FROM   SCM_WT_TOTAL_BALJU                                         
               WHERE  DIVISION_CD = 'B'            
               GROUP  BY AGREE_NO1,AGREE_NO2,AGREE_NO3 ,AGREE_NO4  
                        ,AGREE_CHASU,AGREE_SEQ                     
              UNION ALL                                            
               SELECT AGREE_NO1,AGREE_NO2,AGREE_NO3 ,AGREE_NO4     
                     ,AGREE_CHASU,AGREE_SEQ                        
                     ,MAX(ACCEPT_YN) ACCEPT_YN                     
              FROM   SCM_AGREE_WONJAJAE_BALJU                     
              WHERE  DIVISION_CD           = 'B'            
              GROUP  BY AGREE_NO1,AGREE_NO2,AGREE_NO3 ,AGREE_NO4  
                       ,AGREE_CHASU,AGREE_SEQ                     
               )                                                    
         GROUP  BY AGREE_NO1,AGREE_NO2,AGREE_NO3 ,AGREE_NO4         
                  ,AGREE_CHASU,AGREE_SEQ                            
        ) SAIP         
                                             
 WHERE  MST.DIVISION_CD = 'B'            
   AND  MST.AGREE_NO1   = '1409'              
   AND  MST.AGREE_NO2   = 'B'              
   AND  MST.AGREE_NO3   = 'GM'              
   AND  MST.AGREE_NO4   = '0001'              
   AND  MST.AGREE_CHASU = '0'  
   AND  MST.AGREE_NO1   = SAIP.AGREE_NO1  (+)   
   AND  MST.AGREE_NO2   = SAIP.AGREE_NO2  (+) 
   AND  MST.AGREE_NO3   = SAIP.AGREE_NO3  (+)  
   AND  MST.AGREE_NO4   = SAIP.AGREE_NO4  (+) 
   AND  MST.AGREE_CHASU = SAIP.AGREE_CHASU(+)    
   AND  MST.AGREE_SEQ   = SAIP.AGREE_SEQ  (+)   ; 
 -----------------------------------------------------------------------------
 SELECT AGREE_NO1   ,AGREE_NO2 ,AGREE_NO3 ,AGREE_NO4         
               ,AGREE_CHASU ,AGREE_SEQ ,ACCEPT_YN  
 FROM   SCM_AGREE_WONJAJAE 
 WHERE  DIVISION_CD = 'B'            
   AND  AGREE_NO1   = '1409'              
   AND  AGREE_NO2   = 'B'              
   AND  AGREE_NO3   = 'GM'              
   AND  AGREE_NO4   = '0001'              
   AND  AGREE_CHASU = '0' 
 
   
[Top]
No.
제목
작성자
작성일
조회
40574토드 clob데이터 import질문
야간비행
2014-09-21
7923
40572inline view에서 인덱스가 가능할까요? [1]
사이살리스
2014-09-17
7262
40570쿼리 질문 드려봅니다. [5]
야간비행
2014-09-15
8166
40569이 두쿼리의 결과가 왜 다른거죠...아우터조인시..
DBA희망자
2014-09-12
7630
40568VIEW에서 사용하고있는 TABLE명을 쿼리로 볼수있나요? [1]
질문
2014-09-11
7312
40567DB사용량을 체크해보자는데 어떻게 해야할까요.ㅠ
helpme
2014-09-02
7812
40566중복값 평균 내기 [1]
야간비행
2014-09-01
7922
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다