여러 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!