join과 pk. view의 PK를 구하는 방법 알고싶습니다. 1 5 4,105

by 데미안 join pk oracle left join inner join sql query oracle 기초 [2019.12.18 00:21:53]


create view exampleView
(
    col1,
    col2,
    col3,
    col4,
    col5,
    col6,
    col7
)
as
    select a.col1, a.col2, a.col3, b.col4, b.col5, c.col6, c.col7
      from tableA a
 left join tableB b on (a.col1 = b.col1)
inner join tableC c on (a.col2  = c.col2)

tableA(col1, col2, col3)는 col1이 Pk,

tableB(col1, col4, col5)는 col1, col4가 Pk,

tableC(col2, col6, col7)는 col2, col6가 Pk입니다. 

tableB의 col1은 tableA의 col1보다 종류가 적습니다.

 

이런 뷰가 있다고 하였을 때요. exampleView의 Pk는 

col1, col2, col6이 되는지 여쭙고 싶습니다. 아니면 이런 뷰의 Pk는 어떻게 잡으면 좋을까요?

 

감사합니다. 

by 마농 [2019.12.18 08:02:18]

조인은 보통 1:1 또는 1:다 조인이 되어야 합니다.
그런데 여기서는 1:다:다 가 되어 다:다 조인이 발생됩니다.
다:다 조인은 중복 데이터가 발생되어 이렇게 조인하면 안됩니다.


by 데미안 [2019.12.18 08:27:21]

혹시 7개의 컬럼을 뽑아낼 수 있는 방법이 있습니까?


by 마농 [2019.12.18 09:08:23]

질문이 너무 막연합니다.


by 우리집아찌 [2019.12.18 09:01:31]

원본 데이터 좀 올려주세여


by 우리집아찌 [2019.12.18 09:04:12]

뷰를 만드는 목적이 궁금합니다. 

뷰의 컬럼중 일부만 사용한다면 비효율이 발생할수 있습니다

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