Ilja: MYSQL: gibt es eine solche query abfrage?

Beitrag lesen

yo,

$result = mysql_query("SELECT * FROM ".$subbase." WHERE name='$name' AND publish='1' AND id='$sid' ORDER BY datum DESC LIMIT 3");

das erste was mir aufällt ist, dass du wohl immer nur maximal einen datensatz bekommen wirst. da die id wohl ein eindeutiger schlüssel sein wird (vermutung) und alle bedingungen mit dem logischen AND verknüpft sind. (* ist nicht gut zu verwenden für die spaltenangabe)

ich benötige im prinzip 3 records auf die alle eigenschaften zutreffen (also "publish" und "name"). dabei möchte ich allerdings den allerersten eintrag vorgegeben haben (aus $sid).

nun gibt es viele wege, die zum ziel führen. ein vorschlag wäre mit union :

(
 SELECT spaltenname,....
 FROM tabelle
 WHERE name='$name'
 AND publish='1'
 AND id='$sid'
)
UNION
(
 SELECT spaltenname,....
 FROM tabelle
 WHERE name='$name'
 AND publish='1'
 ORDER BY datum
 DESC
 LIMIT 2
)

Ilja