Maison > base de données > tutoriel mysql > Comment sélectionner uniquement les données de localisation les plus récentes dans une jointure SQL ?

Comment sélectionner uniquement les données de localisation les plus récentes dans une jointure SQL ?

Patricia Arquette
Libérer: 2024-12-04 17:47:11
original
746 Les gens l'ont consulté

How to Select Only the Most Recent Location Data Within a SQL Join?

Sélection de la date maximale dans une opération de jointure

Pour récupérer les emplacements historiques d'un enregistrement spécifique, considérez la requête suivante :

SELECT l.location, t.transaction_id, t.date_modified
FROM transactions AS t
INNER JOIN (
  SELECT
    received_id,
    MAX(date_modified) AS maxmodify
  FROM transactions
  GROUP BY
    received_id
) AS max_record
  ON (
    t1.received_id = max_record.received_id
  )
INNER JOIN locations AS l
  ON (
    l.location_id = t.location_id
  )
INNER JOIN received AS r
  ON (
    r.received_id = t.received_id
  )
WHERE
  t.received_id = '1782'
ORDER BY
  t.date_modified DESC;
Copier après la connexion

Cette requête renvoie une liste d'emplacements pour un enregistrement donné, mais elle inclut plusieurs entrées pour le même emplacement et la même date. Pour vous assurer que seule la date de dernière modification est affichée pour chaque emplacement, utilisez la requête suivante :

SELECT t1.received_id, t1.transaction_id, t1.date_modified, l.location
FROM transactions t1
JOIN (
  SELECT
    received_id,
    MAX(date_modified) AS maxmodify
  FROM transactions
  GROUP BY
    received_id
) AS max_record
  ON (
    max_record.received_id = t1.received_id AND max_record.maxmodify = t1.date_modified
  )
JOIN locations AS l
  ON (
    l.location_id = t1.location_id
  )
JOIN received AS r
  ON (
    r.received_id = t1.received_id
  )
WHERE
  t1.received_id = '1782'
ORDER BY
  t1.date_modified DESC;
Copier après la connexion

La modification clé est l'ajout de la condition de jointure qui garantit que la valeur date_modified sélectionnée est la valeur maximale pour chaque enregistrement. . Cela garantit que seules les informations de localisation les plus récemment mises à jour sont affichées.

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