집 >데이터 베이스 >MySQL 튜토리얼 >SQL 조인을 사용하여 개인의 작업 수와 지연 작업 수를 결합하는 방법은 무엇입니까?
여러 SQL 쿼리의 데이터 통합
데이터베이스 관리에는 다양한 소스나 테이블의 데이터를 통합해야 하는 경우가 많습니다. 일반적인 방법은 SQL JOIN
작업을 사용하여 여러 SELECT
문의 결과를 결합하는 것입니다.
이 예에서는 총 작업 수를 계산하는 쿼리와 각 개인의 기한이 지난 작업을 계산하는 쿼리의 데이터를 결합하는 방법을 보여줍니다. 각 개인의 작업 수와 기한이 지난 작업 수를 표시하는 테이블을 만드는 것이 목표입니다.
첫 번째 쿼리는 각 개인의 총 작업 수를 계산합니다.
<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks</code>
이렇게 하면 ks
(개별 식별자) 및 Total Tasks
이 포함된 테이블이 생성됩니다.
두 번째 쿼리는 각 개인의 기한이 지난 작업을 계산합니다.
<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks</code>
이렇게 하면 ks
및 Overdue Tasks
이 포함된 테이블이 생성됩니다.
이러한 결과를 병합하려면 LEFT JOIN
을 사용합니다. 이렇게 하면 기한이 지난 작업이 없더라도 첫 번째 쿼리의 모든 개인이 포함됩니다.
결합된 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT t1.ks, t1."Total Tasks", COALESCE(t2."Overdue Tasks", 0) AS "Overdue Tasks" FROM (SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks) t1 LEFT JOIN (SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks) t2 ON (t1.ks = t2.ks);</code>
COALESCE
은 개인이 기한이 지난 작업이 부족한 경우를 처리하며 NULL
를 0으로 바꿉니다.
최종표에는 개인별로 ks
, Total Tasks
, Overdue Tasks
이 표시됩니다.
위 내용은 SQL 조인을 사용하여 개인의 작업 수와 지연 작업 수를 결합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!