여러분의 지원에 미리 감사드립니다. 저는 SQL을 배우고 사용할 데이터를 생성하고 있지만 한 가지 간단한 문제에 봉착했습니다. 아래 스크린샷의 테이블은 지역 및 날짜 정보와 함께 2020년에 각 직원이 달성한 매출을 보여주는 my sales20 테이블의 일부를 보여줍니다.
테이블 판매 20
2021년에도 똑같은 테이블이 있어요. 제가 하고 싶은 것은 직원 이름, 지역, 해당 직원이 2020년과 2021년에 달성한 총 매출을 제공하고 싶습니다. 다음 쿼리를 작성했지만 올바른 숫자가 제공되지 않습니다. 그것은 합당한 것보다 더 높은 것을 가져옵니다. 중요한 점은 2020년과 2021년의 직원이 다르다는 것이다. 예를 들어, 2021년에 신입 직원이 있는데, 이는 해당 직원도 나열되어야 함을 의미하지만 해당 직원의 2020 열은 비어 있어야 합니다.
내 쿼리:
으아악결과의 일부 스크린샷:
결과:
내가 뭘 잘못했는지 말해줄 수 있나요?
P粉1388714852024-04-05 00:24:31
으아악
일대일 조인을 위해서는 사람과 지역별로 2개의 테이블을 조인해야 합니다. 직원만을 기준으로 가입하는 경우 일대다 가입이 수행되므로 출력이 손상됩니다.
또 다른 접근 방식은 두 테이블의 데이터를 병합한 다음 이를 기반으로 집계를 수행하는 것입니다. 이렇게 하면 정확한 결과를 얻을 수 있습니다.
으아악