Lin: MySQL: Datensätze + totale Anzahl in einem Statement

Beitrag lesen

Hi zusammen,

Hau mir hier grad meine Freitagnacht um die Ohren um noch paar
finale Sachen an meiner Seite zu machen.

Ich hab jetzt folgendes Problem:

ich hole mir per mod_rewrite IDs zur Abfrage aus einer Tabelle:

/news/12/
/news/215/
etc.

Wird eine ID übergeben, die nicht in der Tabelle enthalten ist,
frage ich ab, ob die Länge des Datensatzes >0 und gebe einen
entsprechenden Hinweis aus.

Jetzt würde ich gerne statt der Meldung, direkt einen 404-Status
schicken (mod_perl), allerdings _nicht_ wenn die Tabelle noch
leer ist, also noch keine News vorhanden.

Also hab ich versucht, mir mit einem Subquery den COUNT(*) der
Tabelle zu holen, etwa so:

  
SELECT n.id, n.title, n.text, (SELECT COUNT(*) FROM tbnews)  
AS count FROM tbnews n WHERE n.id = 12;  

Ausgabe in etwa:

id | title | text | count
-------------------------
12 | xxx   | foo  | 33
12 | bar   | baz  | 33

Und wollte dann eben gerne abfragen ob Datensatzlänge > 0 _und_
count > 0. Tja, falsch gedacht. Wenn ein leerer Satz zurückkommt,
komme ich ja auch nicht an die 'count' Column.

Ich hoffe, ihr versteht einigermassen, was ich will und am liebsten
würde ich das Ganze in einem Statement abhandeln, bin mir sicher
da gibts ne Möglichkeit.

Schonmal danke,
Lin

--
Mister rabbit says, "A moment of realization is worth a thousand prayers."