Wer findet den Fehler

SELECT * FROM f_polls_q WHERE id = (SELECT MAX( id ) FROM f_polls_q );

Wo is da der Fehler? Ich programmiere n simples umfragentool und möchte, dass auf der ausgabeseite nur die allerneueste umfrage (also die mit der höchsten ID) ausgegeben wird. mit zwei sql abfragen könnt ichs schon auch machen, aber es müsst doch auch mit einer einzigen möglich sein…

Hallo Chi,

SELECT * FROM f_polls_q WHERE id = (SELECT MAX( id ) FROM
f_polls_q );

Wenn das mit MySQL gemacht wird: Erst Version 5 unterstützt Unterabfragen. Die Syntax der Abfrage wäre sonst korrekt.

Die Alternative mit einer Abfrage ist

SELECT * FROM f_polls_q ORDER BY id DESC LIMIT 1;

Schönen Gruß,
Rudy

Hi!

SELECT * FROM f_polls_q WHERE id = (SELECT MAX( id ) FROM
f_polls_q );

falls du das mit oracle machst, empfehle ich hier aliases zu verwenden:

select * from f_polls_q a where a.id = (select max(b.id) from f_polls_q b);

grüße,
Tomh

Der Fehler ist doch klar:

SELECT * FROM f_polls_q WHERE id = (SELECT MAX( id ) FROM
f_polls_q );
Wo is da der Fehler?

keine genaue Fehlerbeschreibung!

Woher sollen wir wissen, was dich quält?
Bekommst du eine Fehlermeldung? Wenn ja, wie lautet diese? Wenn nein, bekommst du Ergebnisse? Sind das die falschen? Oder gar keine? Wenn es die falschen sind, wie müßten die richtigen sein? Um welches RDBMS handelt es sich überhaupt?

Gruß

Sancho

Hi!

keine genaue Fehlerbeschreibung!

Ach, immer diese i-Tüpferl-Reiter!

Bekommst du eine Fehlermeldung? Wenn ja, wie lautet diese?
Wenn nein, bekommst du Ergebnisse? Sind das die falschen? Oder
gar keine? Wenn es die falschen sind, wie müßten die richtigen
sein? Um welches RDBMS handelt es sich überhaupt?

Man sammle alle Lösungen und hat eine prima FAQ für - wie es hier so schön heißt - „SQL-/Datenbankprogrammierung“ …

Grüße,
Tomh

PS, Sancho: „Argentinia Cooks“ isses geworden - Danke!