J'ai actuellement 4 tables que je demande à la liste d'état des ordres. Tableaux avec domaine concerné ressemblent à ceObtenir le dernier enregistrement par timestamp dans une requête de jointure gauche
+--------------+ +------------+ +----------+ +----------+
|Orders | | Customers | | Users | | Status |
+--------------+ +------------+ +----------+ +----------+
| id | | id | | id | | id |
| customer_id | | name | | name | | order_id |
| rep_id | +------------+ +----------+ | status |
+--------------+ | comments |
| date |Timestamp
| tech_id |
+----------+
En utilisant l'instruction SQL suivante je peux afficher la liste des commandes et le statut.
SELECT
Orders.id AS orderid,
Customers.name AS CLIENT,
Users.name AS rep,
Status.status
FROM
Orders
LEFT JOIN
Customers ON Orders.customer_id = Customers.id
LEFT JOIN
Users ON Orders.rep_id = Users.id
LEFT JOIN
Status ON Orders.id = Status.order_id
je reçois quelque chose comme ça.
+---------+----------+-------+--------+
| orderid | CLIENT | rep | status |
+---------+----------+-------+--------+
| 1 | Client 1 | Rep 1 | 1 |
| 2 | Client 2 | Rep 2 | 1 |
| 3 | Client 3 | Rep 1 | 1 |
| 4 | Client 4 | Rep 2 | 1 |
| 6 | Client 6 | Rep 4 | 1 |
| 1 | Client 1 | Rep 3 | 4 |
| 6 | Client 6 | Rep 4 | 4 |
+---------+----------+-------+--------+
Je dois obtenir un enregistrement par ordre de commande en fonction de la date la plus récente dans la table d'état. Je sens que je suis si proche mais ne peux pas le comprendre.
Voir https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what- semble-à-me-être-un-très-simple-sql-requête – Strawberry
Cette question a été répondu de nombreuses fois. Voir la balise [tag: most-n-per-group]. –