Maison >base de données >tutoriel mysql >Comment joindre une table MySQL uniquement à la ligne la plus récente d'une table associée ?
MySQL : rejoindre uniquement la ligne la plus récente
Dans ce scénario, vous avez des tables customer et customer_data, où customer_data contient un historique de changements pour chaque client. Votre objectif est de récupérer les informations client en vous joignant uniquement à la ligne la plus récente de customer_data.
Pour y parvenir, utilisez une sous-requête dans la clause WHERE pour identifier l'ID maximum de chaque client dans customer_data. Joignez cette sous-requête à la table client en utilisant la syntaxe LEFT JOIN, comme indiqué ci-dessous :
SELECT c.*, FROM customer AS c LEFT JOIN customer_data AS d ON d.customer_id = c.customer_id AND d.ID = ( SELECT MAX(ID) FROM customer_data WHERE customer_id = c.customer_id ) WHERE name LIKE '%Smith%' LIMIT 10, 20;
Dans cette requête :
Cette approche isole efficacement la ligne la plus récente. entrées pour chaque client et les joint à la table des clients pour un traitement ultérieur.
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!