하나의 쿼리에서 동일한 테이블에 대한 여러 개의 왼쪽 조인 계산

Rashed Huq

SQL 전문가 여러분, 저는 직원 전화 번호 표와 1 년 동안 우리 조직에 들어온 모든 통화 표를 가지고 있으며 각 전화 번호마다 발신 및 수신 통화 수를 계산해야합니다.

테이블 전화 번호 :

전화 번호 사용자 이름 이메일 주소
02078821122 JBloggs [email protected]

테이블 :

데이트 CallSource CallDestination
2020 년 12 월 10 일 07805424828 02078821122

따라서 내 T-SQL 스크립트는 다음과 같습니다. 직원 PhoneNumber가 호출의 소스 또는 대상 일 수 있으므로 Calls 테이블에서 왼쪽 조인을 두 번 수행해야하기 때문입니다.

SELECT P.PhoneNumber, count(CS.CallSource) AS CallsMade, count(CD.CallDestination) AS CallsReceived
FROM PhoneNumbers P
LEFT JOIN Calls CS ON P.PhoneNumber = CS.CallSource 
LEFT JOIN Calls CD ON P.PhoneNumber = CD.CallDestination 
GROUP BY P.PhoneNumber
ORDER BY PhoneNumber

제로 카운트도 필요하므로 LEFT JOIN이 필요합니다. 스크립트가 실행되지만 GROUP BY로 인해 총 CallsMade에 각 PhoneNumber의 CallsReceived 값이 곱해지고 결과가 두 열에 모두 표시됩니다. 예를 들어 PhoneNumber 02078820011이 3 번의 통화를하고 2 번의 통화를 받았다고 가정하면 위의 스크립트는 다음을 반환합니다.

전화 번호 CallsMade 수신 된 통화
02078820011 6 6

다음과 같은 경우 :

전화 번호 CallsMade 수신 된 통화
02078820011 2

누구든지 올바른 카운트를 얻기 위해 스크립트를 수정해야하는 방법을 조언 할 수 있습니까?

고든 리노 프

호출을 해제하고 집계합니다.

SELECT v.PhoneNumber, SUM(source) as num_source,
       SUM(destination) as num_destination
FROM Calls c CROSS APPLY
     (VALUES (c.CallSource, 1, 0), (c.CallDestination, 0, 1)
     ) v(PhoneNumber, source, destination)
GROUP BY v.PhoneNumber
ORDER BY v.PhoneNumber;

PhoneNumbers목록의 숫자에만 관심이 있다면 다음 을 사용할 수 있습니다.

SELECT p.PhoneNumber, SUM(source) as num_source,
       SUM(destination) as num_destination
FROM PhoneNumbers p LEFT JOIN
     (Calls c CROSS APPLY
      (VALUES (c.CallSource, 1, 0), (c.CallDestination, 0, 1)
      ) v(PhoneNumber, source, destination)
     )
     ON p.PhoneNumber = v.PhoneNumber
GROUP BY p.PhoneNumber
ORDER BY p.PhoneNumber;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

세 개의 테이블에 대한 왼쪽 외부 조인?

분류에서Dev

LINQ의 여러 왼쪽 조인에 대한 올바른 구문?

분류에서Dev

하나의 쿼리에서 여러 값에 대한 계산 계산

분류에서Dev

왼쪽 조인 및 그룹화 기준을 사용하여 동일한 테이블의 두 쿼리 결합

분류에서Dev

테이블 데이터의 일부에서 조건이 다른 두 테이블에 대한 왼쪽 조인

분류에서Dev

3 개의 테이블 내부 조인에 대한 SQL 계산

분류에서Dev

동일한 테이블의 여러 열에서 항목 계산

분류에서Dev

동일한 쿼리에서 두 테이블을 조인하는 MySQL. 내부 조인 또는 왼쪽 조인?

분류에서Dev

SQL을 사용하는 Access의 5 개 테이블에 대한 내부 조인 및 왼쪽 조인

분류에서Dev

매우 느린 MySQL 쿼리 : 왼쪽 조인 여러 테이블과 각 테이블에 대한 where 절

분류에서Dev

일대 다 관계의 왼쪽 조인에 대한 집계 함수가있는 SQL 쿼리

분류에서Dev

laravel에서 왼쪽 조인의 복잡한 쿼리

분류에서Dev

왼쪽 조인을 사용하여 일대 다 계산이 소스 테이블에서 잘못된 계산을 제공함

분류에서Dev

동일한 쿼리에서 다른 테이블의 행 계산

분류에서Dev

동일한 쿼리에서 다른 테이블의 행 계산

분류에서Dev

여러 테이블에서 선택하고 하나의 테이블에 왼쪽 조인

분류에서Dev

SQL-하나의 쿼리에서 동일한 열인 여러 테이블 업데이트

분류에서Dev

동일한 키를 사용하여 여러 테이블을 하나의 기본 테이블에 조인

분류에서Dev

동일한 ID에 대해 여러 행이있는 테이블에서 ID 당 하나의 행과 여러 열이있는 테이블을 가져오고 조건에 따라 합계를 계산합니다.

분류에서Dev

동일한 테이블에서 세 번의 조인 쿼리

분류에서Dev

여러 개의 왼쪽 조인에서 개수를 가져 오는 적절한 방법

분류에서Dev

datetime 열을 기반으로 동일한 테이블의 이전 레코드에 왼쪽 조인

분류에서Dev

여러 외부 필드에 대한 Django 조인 (왼쪽 조인)

분류에서Dev

MySQL은 동일한 테이블에서 두 개의 쿼리를 조인

분류에서Dev

Hibernate의 Criteria API, 조인 테이블의 동일한 열에 대한 여러 제한

분류에서Dev

동일한 테이블의 여러 조인 열에 대한 색인에 접근합니까?

분류에서Dev

다중 왼쪽 조인에 대한 적절한 구문은 무엇이며 왼쪽 테이블의 조건은 무엇입니까?

분류에서Dev

SQL Server의 여러 테이블에 대한 외부 조인

분류에서Dev

DataSet의 여러 테이블에 대한 내부 조인

Related 관련 기사

  1. 1

    세 개의 테이블에 대한 왼쪽 외부 조인?

  2. 2

    LINQ의 여러 왼쪽 조인에 대한 올바른 구문?

  3. 3

    하나의 쿼리에서 여러 값에 대한 계산 계산

  4. 4

    왼쪽 조인 및 그룹화 기준을 사용하여 동일한 테이블의 두 쿼리 결합

  5. 5

    테이블 데이터의 일부에서 조건이 다른 두 테이블에 대한 왼쪽 조인

  6. 6

    3 개의 테이블 내부 조인에 대한 SQL 계산

  7. 7

    동일한 테이블의 여러 열에서 항목 계산

  8. 8

    동일한 쿼리에서 두 테이블을 조인하는 MySQL. 내부 조인 또는 왼쪽 조인?

  9. 9

    SQL을 사용하는 Access의 5 개 테이블에 대한 내부 조인 및 왼쪽 조인

  10. 10

    매우 느린 MySQL 쿼리 : 왼쪽 조인 여러 테이블과 각 테이블에 대한 where 절

  11. 11

    일대 다 관계의 왼쪽 조인에 대한 집계 함수가있는 SQL 쿼리

  12. 12

    laravel에서 왼쪽 조인의 복잡한 쿼리

  13. 13

    왼쪽 조인을 사용하여 일대 다 계산이 소스 테이블에서 잘못된 계산을 제공함

  14. 14

    동일한 쿼리에서 다른 테이블의 행 계산

  15. 15

    동일한 쿼리에서 다른 테이블의 행 계산

  16. 16

    여러 테이블에서 선택하고 하나의 테이블에 왼쪽 조인

  17. 17

    SQL-하나의 쿼리에서 동일한 열인 여러 테이블 업데이트

  18. 18

    동일한 키를 사용하여 여러 테이블을 하나의 기본 테이블에 조인

  19. 19

    동일한 ID에 대해 여러 행이있는 테이블에서 ID 당 하나의 행과 여러 열이있는 테이블을 가져오고 조건에 따라 합계를 계산합니다.

  20. 20

    동일한 테이블에서 세 번의 조인 쿼리

  21. 21

    여러 개의 왼쪽 조인에서 개수를 가져 오는 적절한 방법

  22. 22

    datetime 열을 기반으로 동일한 테이블의 이전 레코드에 왼쪽 조인

  23. 23

    여러 외부 필드에 대한 Django 조인 (왼쪽 조인)

  24. 24

    MySQL은 동일한 테이블에서 두 개의 쿼리를 조인

  25. 25

    Hibernate의 Criteria API, 조인 테이블의 동일한 열에 대한 여러 제한

  26. 26

    동일한 테이블의 여러 조인 열에 대한 색인에 접근합니까?

  27. 27

    다중 왼쪽 조인에 대한 적절한 구문은 무엇이며 왼쪽 테이블의 조건은 무엇입니까?

  28. 28

    SQL Server의 여러 테이블에 대한 외부 조인

  29. 29

    DataSet의 여러 테이블에 대한 내부 조인

뜨겁다태그

보관