Philipp Hasenfratz: MySQL auf sich selbst joinen?

Beitrag lesen

Halihallo XMen

Zu denen brauche ich aber noch andere Spalten, allerdings kann man die ja nicht mit einem mal auslesen.

Doch, mit subselects, aber diese werden bei MySQL erst ab 4.1 unterstützt.

SELECT text,max(id) gibt nicht den text bei max(id) aus, sondern irgendeinen.

Sollte eigentlich gar keinen ausgeben sondern mit einer Fehlermeldung quittieren, aber
das ist ein "Bug" in MySQL.

Jetzt dachte ich halt, dass es hilft, wenn ich die Tabelle nochmal auf die min und max ids joine um so den text bei diesen ids zu bekommen.

SELECT b.text, max(a.id) AS max_id, b.id
   FROM   tb1 AS a,
          tb1 AS b
   WHERE
          a.id=b.id AND
          a.num=1
   GROUP BY
          b.id
   HAVING
          b.id=max_id

kommt mir hierzu als ungetesteter Lösungsvorschlag in den Sinn.

Nebenbemerkung: Du bräuchtest in deinem Vorschlag keinen LEFT JOIN, da die max(id) ja
in derselben Tabelle zwingend vorkommen muss.

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.