J'ai une table des enregistrements de l'historique et joint une table de commentaires. Les deux ont des dates - donc un enregistrement de l'historique est fait, et il y a une table de commentaires qui enregistre les commentaires sur cet enregistrement historique. Lorsque j'interroge les tables, je veux tous les enregistrements de l'historique et le commentaire le plus récent pour chacun. Malheureusement, je ne semble pas récupérer les données comme je le souhaite, car si un commentaire est ajouté à un enregistrement historique antérieur, alors cette requête renvoie l'enregistrement d'historique le plus récent (correct) mais le commentaire le plus récent globalement (incorrect) au lieu du commentaire le plus récent pour le dossier d'histoire que je regarde.Lors de la sélection d'un enregistrement à partir d'une table jointe obtenir l'enregistrement le plus récent de la table B (jointe) pour chaque enregistrement de table A si possible
Voici notre MySQL
SELECT h.id
, c.id comment_id
, c.comment recent_comment
, h.*
FROM crm_device_history h
LEFT
JOIN crm_device_history_comments c
ON c.crm_device_history_id = h.id
AND c.id = (SELECT max(id)
FROM crm_device_history_comments
WHERE c.crm_device_history_id = h.id)
WHERE device_id = 147
AND crm_history_states_id >= 0
ORDER
BY h.id DESC
Table crm_device_history
id
device_id
crm_history_states_id
userID
dateTime
system_comment
comment -> this field is to be dropped now we have a separate table
distributor_assignment
client_assignment
updated_date
created_date
crm_device_history_comments
id
crm_device_history_id
comment
user_id
updated_date
quels sont vos résultats attendus? –
Ajoutez le schéma, les exemples de données, le résultat actuel et attendu dans votre question. Ce sera vraiment utile. –
donc je m'attends à voir l'enregistrement historique le plus récent (h.id) et dans cette rangée le commentaire le plus récent (recent_comment). Ce que je reçois en réalité est l'enregistrement historique le plus récent mais aussi le commentaire le plus récent (donc le commentaire le plus récent dans le tableau des commentaires, pas le plus récent qui s'applique à l'historique que je regarde) – Rich