outer join으로 테이블 조인할 때 필요 없는 부분을 제거하고 가져올 수 있을까요? 0 8 820

by 안녕하세요 [SQL Query] db2 query outer join remove [2021.12.09 11:14:20]


안녕하세요

db2 이용하고 있습니다.

 

outer join으로 테이블 조인을 하고 있는데 문제는 필요 없는 데이터도 가져와서 합을 구할 때 필요없는 데이터 값도 더해지는 문제가 있습니다.

 

구체적으로 설명드리자면 

정상건 | 사고건

 

이런 컬럼이 있는데 사고건 중에 정상건에 속한 데이터가 있어서 사고건에 정상건 테이블을 걸어 가져와야 합니다.

문제는 데이터 중 비정상 데이터도 있어서, 정상건에도 속하지 않고 사고건에도 속하지 않는 가비지 데이터도 같이 가져오게 되는 문제가 생기는데 이럴 경우 어떻게 제외하고 가져올 수 있을까요?

설명이 잘 되었는지 모르겠습니다..

by 마농 [2021.12.09 11:18:55]

예를 들어 주세요.
설명 형식 말고 데이터 형식으로
원본 대비 결과표 예시자료 보여주세요.


by 안녕하세요 [2021.12.09 11:23:20]

네넵 시간이 좀 걸릴 수 있습니다..


by 안녕하세요 [2021.12.09 13:08:40]

 

 

 

정상건 | 사고건

1.1 |     

1.2 |

2.1 |

2.2 |

4.1 | 4.1 

4.2 |

4.3 |

 

사고건의 4.1에 해당하는 값을 정상값에서 찾아서 가져옵니다. outer join을 걸어서 가져오는데 4.2, 4.3의 경우는 필요없는 가비지 데이터인데 4.1을 outer join으로 걸다 보니 같이 가져오게 됩니다. 

사고건에서 있는 데이터는 정상건에 있을 수도 있고 없을 수도 있습니다.(그래서 outer join을 걸었습니다.) 4.2 , 4.3은 정상건에도 없고 사고건에도 없는 가비지 데이터인데 테이블에 남아 있어서 같이 가져와서 합계에 영향을 미칩니다. 필터링해서 가져올 수 있을까요?


by 마농 [2021.12.09 13:31:56]

올려주신 자료만으로는 인과관계를 파악할 수 없습니다.
다른 컬럼들의 정보가 더 필요합니다.
조인 컬럼 이라던가 합계컬럼 이라던가? 가비지 여부를 알 수 있는 컬럼이라던가?
사용한 쿼리를 보여준다던가?
원하는 결과표도 보여주셔야죠.


by 안녕하세요 [2021.12.09 13:55:53]

에공.. 그렇게 까지는 힘들거 같습니다.. 죄송합니다.


by 마농 [2021.12.09 14:00:02]

가능 여부만 알려드리자면. 가능합니다.
다만, 질문의 상세내용이 구체적이지 않아 구체적인 답변은 불가능합니다.
원본 자료를 보여달라는게 아니라, 샘플 자료를 보여달라는 것입니다.


by 안녕하세요 [2021.12.09 14:08:57]

감사합니다..


by 꽃보다오빠 [2021.12.10 11:26:49]

테이블과 컬럼 정보가 없어서 정확한 파악은 어렵지만 

WHERE 절에 AND EXISTS (SELECT * FROM 정상건테이블 WHER 4.1= 사고건테이블.4.1)
을 추가해 보시면 될 것 같습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입