Dies könnte eine relativ einfache Frage sein, aber ich habe Mühe, es auszuarbeiten. Ich habe drei Tabellen alle unten aufgeführt (owners, pets, petTypes
) und versuchen, die folgenden Daten alle in einer Abfrage zu extrahieren. Die ersten beiden sind nicht schwer, aber die 3. und 4. ist wo ich kämpfe.Wählen Sie MAX-Wert aus der Spalte und den entsprechenden Wert aus einem anderen
Tabellendaten, wenn Sie möchten, replizieren: https://pastebin.com/veXHwcMc
Die Fragen:
Besitzer Id
Name des Inhabers Geben Sie den Namen
ein
- Anzahl der andere Haustiere
Was ich
Auswahl des ältesten Alters SELECT MAX(age) FROM pets
die Tabellen versucht haben, Zusammenschieben der beiden SELECT pets.ownerId, MAX(pets.age), petTypes.name FROM pets INNER JOIN petTypes ON pets.petTypeId = petTypes.id GROUP BY pets.ownerId;
zu zeigen, aber das ist falsch. Weil sie alle Katze zeigen, wenn sie den korrekten Namen für die älteste Katze zeigen sollten.
ich cam auf diese Frage: How can I SELECT rows with MAX(Column value), DISTINCT by another column in SQL?
So versuchte ich: SELECT petTypes.id, petTypes.name FROM petTypes INNER JOIN (SELECT MAX(age) FROM pets GROUP BY ownerId) pets ON petTypes.id = pets.petTypeId;
Aber die geworfen Fehler ist ERROR 1054 (42S22): Unknown column 'petTypes.id' in 'on clause'
Jede Hilfe bitte
Können Sie einen Datensatz mit dem ältesten Haustieralter für jeden Besitzer erhalten? Kannst du das dann verwenden, um die Daten zu verknüpfen, um die Ergebnisse dessen, was Haustiere angezeigt werden, zu begrenzen, indem du dem Besitzer und dem Alter des Tieres beitrittst? Was passiert, wenn mehrere Tiere gleich alt sind? Willst du alle oder nur 1? Wie bestimmst du welchen? – xQbert
Ich versuche, das älteste Haustier UND Namen zu finden. Wenn der Besitzer mehrere hat, die das gleiche Alter haben, brauche ich nur eine (eine) – Nouman
Wenn Sie immer noch kämpfen, finden Sie unter: [Warum sollte ich eine MCVE für eine, wie mir scheint, sehr einfache SQL-Abfrage bieten ?] (https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-very-simple-sql -Abfrage) – Strawberry