Maison > base de données > tutoriel mysql > Comment combiner le nombre de tâches et le nombre de tâches en retard pour les personnes utilisant des jointures SQL ?

Comment combiner le nombre de tâches et le nombre de tâches en retard pour les personnes utilisant des jointures SQL ?

Barbara Streisand
Libérer: 2025-01-08 22:37:44
original
879 Les gens l'ont consulté

How to Combine Task and Late Task Counts for Individuals Using SQL Joins?

Consolidation des données de plusieurs requêtes SQL

La gestion de bases de données nécessite souvent l'intégration de données provenant de diverses sources ou tables. Une méthode courante consiste à utiliser des opérations SQL JOIN pour combiner les résultats de plusieurs instructions SELECT.

Cet exemple montre comment combiner les données de deux requêtes : l'une comptant le total des tâches et l'autre comptant les tâches en retard pour chaque individu. L'objectif est de créer un tableau montrant le nombre de tâches de chaque individu et le nombre de tâches en retard.

La première requête calcule le nombre total de tâches de chaque individu :

<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks</code>
Copier après la connexion

Cela produit un tableau avec ks (identifiant individuel) et Total Tasks.

La deuxième requête compte les tâches en retard de chaque individu :

<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks</code>
Copier après la connexion

Cela génère un tableau avec ks et Overdue Tasks.

Pour fusionner ces résultats, un LEFT JOIN est utilisé. Cela garantit que toutes les personnes de la première requête sont incluses, même si elles n'ont aucune tâche en retard.

La requête combinée est :

<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>
Copier après la connexion

COALESCE gère les cas où les individus n'ont pas de tâches en retard, en remplaçant NULL par 0.

Le tableau final affiche ks, Total Tasks et Overdue Tasks pour chaque individu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal