Ich weiß, dass es viele ähnliche Fragen gibt, aber es scheint, dass nichts zu meinem Problem passt. Ich habe einige Stunden damit verbracht, dieses Problem zu untersuchen, und habe eine Abfrage erstellt, die das letzte Bild nicht auswählt, dazu später mehr. So ist das Problem haben ein 3-TabellenGrößtes N pro Gruppe in einer Beziehung von vielen zu vielen
Tabelle: Bilder
| Field | Type
+-------------------+------------------
| id | int(10) unsigned
| filename | varchar(255)
| created_at | timestamp
| updated_at | timestamp
Tabelle: bietet
| Field | Type
+-------------------+------------------
| id | int(10) unsigned
| message | varchar(255)
| created_at | timestamp
und einen Tisch verbindet sie: offer_images
| Field | Type
+----------+------------------
| offer_id | int(10) unsigned
| image_id | int(10) unsigned
Also, die Frage ist: Wie wähle ich alle Angebote mit dem zuletzt aktualisierten Bild aus (basierend auf updated_at) aus der Bildtabelle, die mit dem Angebot verknüpft ist. Hier ist, was ich habe, so weit:
SELECT `o`.*, `i`.`filename`
FROM `offer_images` AS `oi`
INNER JOIN `offers` AS `o` on `oi`.`offer_id` = `o`.`id`
INNER JOIN `images` as `i` on `oi`.`photo_id` = `i`.`id`
GROUP BY `o`.`id`
Die Abfrage wählt alles und es funktioniert außer dass es die updated_at Feld ignoriert.
Mit anderen Worten, mit einem Datensatz, der so aussieht ... Ich möchte ein Ergebnis, das so aussieht ... – Strawberry