다음과 같은 데이터 세트(예제 5개 필드)가 있습니다.
시작일 | 시간 | 1번 | 2번 | 핵심 1 | 핵심 2 |
---|---|---|---|---|---|
2022년 11월 21일 | 0:01 | 1668969012 | 413027032418217 | B3B820CE | |
2022년 11월 21일 | 0:02 | B3B820CE | |||
2022년 11월 21일 | 0:03 | 1668969013 | 413027032418218 | 8EFCB769 | |
2022년 11월 21일 | 0:04 | 8EFCB769 | |||
2022년 11월 21일 | 0:05 | 1668969014 | 413027032418219 | 4070A788 |
보시다시피 처음 두 줄과 마지막 두 줄은 key1과 key2의 문자열을 사용하여 연결될 수 있습니다. 그러나 마지막 필드에는 일치하는 필드가 없습니다.
기본적으로 이 쌍을 일치시키고 아래와 같이 새 테이블을 만들어야 합니다.
시작일 | 시간 | 종료일 | 시간 | 1번 | 2번 |
---|---|---|---|---|---|
2022년 11월 21일 | 0:01 | 2022년 11월 21일 | 0:02 | 1668969012 | 413027032418217 |
2022년 11월 21일 | 0:03 | 2022년 11월 21일 | 0:04 | 1668969013 | 413027032418218 |
2022년 11월 21일 | 0:05 | 1668969014 | 413027032418219 |
이것이 제가 지금까지 시도한 것입니다. 그러나 이것은 내가 필요한 것을 제공하지 않습니다. 누군가 여기에 오류가 무엇인지 말해 줄 수 있습니까?
SELECT t1.start_date_time, t2.start_date_time AS end_date_time, t1.number1, t1.number2 FROM details_all AS t1 JOIN details_all AS t2 ON t1.key1 = t2.key2
P粉2783794952023-09-10 09:53:30
오류는 간단합니다. INNER JOIN은 완전한 쌍만 선택합니다.
모든 키 값을 별도의 하위 쿼리로 수집한 다음 그 안에 데이터를 조인해야 합니다.
으아악 key1
值始终存在,而 key2
에 동일한 값이 없으면 간단한 LEFT JOIN을 사용할 수 있습니다.