Extraction de lignes avec des ID en double et des valeurs de colonnes distinctes
La requête :
Considérez le tableau suivant :
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 2 | A | +------+------+ | 3 | A | +------+------+ | 1 | B | +------+------+ | 2 | B | +------+------+
Le but est de récupérer toutes les lignes où la colonne ARIDNR a des valeurs en double tandis que la colonne LIEFNR a des valeurs distinctes.
Solution :
Pour exécuter cette requête efficacement, suivez ces étapes :
SELECT * FROM Table WHERE ARIDNR IN ( SELECT ARIDNR FROM Table GROUP BY ARIDNR HAVING COUNT(DISTINCT LIEFNR) > 1 )
Explication :
Cette requête utilise une sous-requête pour identifier les ARIDNR qui se produisent plus d'une fois. Dans la requête externe, il récupère toutes les lignes avec les ARIDNR identifiés.
Sous-requête :
Requête externe :
Résultat :
La sortie de la requête sera :
+------+------+ | ARIDNR | LIEFNR | +------+------+ | 1 | A | +------+------+ | 1 | B | +------+------+ | 2 | A | +------+------+ | 2 | B | +------+------+
Ce résultat capture avec succès toutes les lignes avec des ARIDNR en double et des valeurs LIEFNR distinctes.
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!