J'ai une base de données MySQL avec un ou plusieurs champs relationnels (par exemple orders et order_items) Chaque fois qu'un order_item est modifié, l'enregistrement est également inséré dans la table order_item_history avec l'horodatage dans le champ modifié.MySQL - Obtenir des "instantanés" historiques à partir d'une table d'historique
Ce que je dois faire est d'interroger la base de données pour obtenir l'état de la commande en fonction d'une date particulière. Pour obtenir la version la plus récente pour un order_item particulier, je
SELECT * de order_item_history où order_item_id = 4 et modifié < = 'RECHERCHE DATE' ORDER par limite DESC modifiée 1
Qu'est-ce que je ne peux pas comprendre comment écrire une requête qui fonctionnerait comme celle ci-dessus, sauf renvoyer les versions les plus récentes de tous les éléments attachés à une commande basée sur le champ order_id
Je peux le faire par programmation en PHP en plaçant le paramètre order_item_ids dans un tableau et l'exécution d'une requête pour chacun d'eux, mais je dois penser qu'il existe un moyen de le faire à partir de MySQL.
Toute aide serait grandement appréciée.
Merci pour votre réponse rapide, mais cette requête ne renvoie qu'une seule ligne, je tiens à le limiter un pour chaque élément de commande –