아래 와 같이 데이터가 들어있는데요. 

 

비용 테이블의 CODE1, CODE2, CODE3, CODE4 가 모두 값이 있으면 문제가 없을 것 같은데... 

아래와 같이 빈값들이 있는 상황입니다. 

========================================================

WITH TABLE_A (USER_CD,    USER_NM,    CODE1,    CODE2,    CODE3,    CODE4 ) AS 
( SELECT '101',    'A'    ,'A-01',    '1',    'A0',    '1'

    UNION ALL 
 SELECT '101',    'B'    ,'A-01',    '2',    'A01',    '2'
    UNION ALL 
 SELECT '101',    'C'    ,'A-01',    '1',    'A13',    '1'
    UNION ALL 
 SELECT '101',    'D'    ,'A-01',    '3',    'A20',    '1'

, TABLE_B (CODE1    ,CODE2    ,CODE3    ,CODE4    ,COST ) AS 
( SELECT '','',        'A0',    '', 1000000
    UNION ALL 
 SELECT '','',        'A01',    '', 1000000
    UNION ALL 
 SELECT '','1',        'A13',    '1', 1000000
    UNION ALL 
 SELECT 'A-01','3',        'A20',    '1', 1000000

        
    Select * from 
    ( SELECT * FROM TABLE_A ) A
    inner join 
    ( SELECT * FROM TABLE_B ) B
    on A.CODE1 = B.CODE1 and  A.CODE2 = B.CODE2  and  A.CODE3 = B.CODE3 and  A.CODE4 = B.CODE4 

===========================================================================

 

Select * from 

( 사람속성 ) A

inner join 

( 비용  ) B

on 

A.CODE1 = B.CODE1 and A.CODE2 = B.CODE2 and A.CODE3 = B.CODE3 and A.CODE4 = B.CODE4

 

이렇게 했을 경우 값이 없는 데이터들에 대해 서는 가지고 오지 못하는 상황이 있어서.. 

 

비용 내역에서 CODE3의 값만 있는 경우 CODE1, CODE2, CODE4 는 무시하고 모두 값을 가지고 오고.. 

==> CODE1, CODE2, CODE3, CODE4 모두 값이 있으면 위처럼 조건이 걸리겠지만

TABLE_B 에 CODE3만 있을 경우에는 

A.CODE3 = B.CODE3 만 적용이 되어야겠죠... 나머지 조건은 무시가 되고... 

 

할 수 있을 까요?

 

질문이 너무 어렵네요.

 

 

 

사람 속성 

USER_CD USER_NM CODE1 CODE2 CODE3 CODE4
101 A A-01 1 A0 1
102 B A-01 2 A01 2
103 C A-01 1 A0 1
104 D A-02 1 A25 1
105 E A-02 2 A13 1
106 F A-01 1 A20 1
107 G A-01 2 A20 1
108 H A-01 3 A20 1
109 I A-02 1 A20 1
110 A A-02 2 A20 1

 

비용  

CODE1 CODE2 CODE3 CODE4 COST
    A0   1000000
    A01   1000000
  1 A13 1 0
  1 A25 1 300000
  2 A13 1 0
A-01 1 A20 1 0
A-01 2 A20 1 0
A-01 3 A20 1 0
A-02 1 A20 1 0
A-02 2 A20 1 0
No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36189
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18743
10743 시작시간, 종료시간이 있을 때 월이 바뀌는 경우 분할하여 SELECT mesmerist 2021.09.03 165
» 두 테이블을 join 해서 값을 가지고 올때 양쪽에 모두 값이 있을 경우만 조건이 걸리게 DOOLLY 2021.09.03 204
10741 VC++ 에서 ADO 의 RecordSet 을 이용해 select 시 실패하는 경우에 대한 문의드립니다. [3] Cover Fly 2021.09.02 255
10740 [사용자 'NT AUTHORITY\ANONYMOUS LOGON'이(가) 로그인하지 못했습니다.] 오류 문의 드립니다. 제비 2021.09.01 366
10739 [사용자 'NT AUTHORITY\ANONYMOUS LOGON'이(가) 로그인하지 못했습니다.] 오류 문의 드립니다. [1] 제비 2021.09.01 281
10738 각 필드별로 중복제거하여 포함 된 값 조회 [1] DOOLLY 2021.09.01 341
10737 Db 업데이트 시 값을 계속해서 업데이트 하는방법 [1] jen 2021.08.28 191
10736 서버 메모리 사용률 높이는 방법 [2] file 뱃살왕자 2021.08.27 325
10735 코드 데이터 저장시.. 코드값? 단어? 차이가 없을까요? [2] 레몽 2021.08.27 204
10734 (mssql) 쿼리질문 드립니다. 현재일 기준으로 이벤트기간이라면 이벤트가격을 아니라면 평상시 가격을 표시하려 합니다. [1] 열심히5413 2021.08.21 222
10733 mssql 마이그레이션 관련 질문좀 드립니다. [2] 마나 2021.08.20 207
10732 MS SQL / Maria DB 보안성 비교 [2] 넷째형 2021.08.18 305
10731 오더 정보(또는 헤더 아이템 형태구조) 문서 수정시 아이템 처리 FelixJung 2021.08.07 153
10730 MSSQL 질문드립니다. [2] 김민배 2021.08.02 252
10729 MS-SQL Always On 구성에 대해 질문 드립니다. [5] 제비 2021.07.29 404
10728 안녕하세요.. mssql DB log 화일이(.ldf) 하드디스크 용량만큼(300G) 꽉 찼습니다.. [5] 달빛그림자 2021.07.29 685
10727 MSSQL 질문드립니다. [1] 1101206 2021.07.20 221
10726 PIVOT 문의드립니다 [2] swimtor 2021.07.17 200
10725 datetime 포맷 데이터 카운트 문제 [2] 쭈우니 2021.07.16 183
10724 메일 발송 쿼리 [4] 여울 2021.07.16 328





XE Login