-1
조인해야하는 두 개의 테이블 (Table1 및 Table2)이 있습니다.SQL : 두 번째 테이블에서 중복을 제외하고 테이블 조인
열 id
은 표 1과 표 2를 연결합니다.
출력 테이블은 Table1의 모든 행을 포함해야합니다.
표 2에는 출력 테이블에 나타나서는 안되는 중복이 있습니다.
표 2 중복 된 행은
id
부여하는 열에NULL
있고, 표 2의 다른 행은 동일한id
이 열에있는 값을 갖는 경우, 출력 테이블 대신NULL
값을 포함해야하는 경우. (예 : 아래 예에서id
002, 003 및 005와 같이)중복 된 행에 주어진
id
에 대해 동일한 열에 대해 서로 다른 값이 포함 된 경우. 모든 값을 출력 테이블로 가져올 수 있습니다. (즉, 아래의 예 등에id
001)
예 :
표 1
ID Value1
---- ------
001 Mary
002 Jane
003 Peter
004 Smith
005 Katy
표 2
ID Value2 Value3
---- ------ ------
001 25 33
001 25 38
001 NULL 33
002 NULL NULL
002 18 56
003 22 NULL
005 NULL 34
I 가입해야 테이블과 다음 결과를 얻을 :
ID Value1 Value2 Value3
---- ------ ------ ------
001 Mary 25 33
002 Jane 47 88
003 Peter 22 NULL
004 Smith NULL NULL
005 Katy NULL 34
감사합니다.
@Linger 덕분에. 제가 놓친 뭔가가있었습니다. 출력에서 피할 필요가있는 NULL 값이 있습니다. 이것을 제거하기 위해 무엇을해야합니까? (문제의 업데이트 된 테이블) – slayernoah
** @ slayernoah **, 내가 너를 따라 가는지 모르겠다. NULLS가있는 레코드를 전혀 표시하지 않겠습니까? 아니면 대신에 '0'으로 표시하겠습니까? – Linger
나는 질문에 놓친 몇 가지 시나리오를 추가했습니다. 이 바이올린을 참고하십시오 : [link] (http://sqlfiddle.com/#!2/e89ea/1). 출력 테이블에 중복 행이 있습니다. – slayernoah