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>
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>
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>
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!