yo,
Tja, falsch gedacht. Wenn ein leerer Satz zurückkommt,
komme ich ja auch nicht an die 'count' Column.
klar, die unterabfrage wird nur ausgeführt, wenn es mindestens einen entsprechenden datensatz gibt. mir fallen spontan zwei möglichkeiten ein, dein problem zu lösen. die erste ist, indem du das problem per datenbankabfrage lößt, nämlich zwei abfragen per UNION miteinander verbindest.
(SELECT COUNT(*) AS Spalte1, NULL, NULL, "1" AS Sortierung FROM tbnews WHERE ID = 12 ORDER BY 4)
UNION
(SELECT id, title, text, "2" FROM tbnews WHERE ID = 12)
Dabei ist zu beachten, dass die Spaltenanzahl beider Abfragen gleich sein muss und die letzte künstliche Spalte dafür sorgt, dass der COUNT durch die Sortierung ganz oben als erster datensatz steht.
die zweite möglichkeit finde ich aber besser, indem du ganz normal deine abfrage nach der ID machst, ganz ohne COUNT, und dann die anzahl der datensätze über die verwendete sprache abrufst, zum beispiel bei php über mysql_num_rows. die liefert dir nämlich schon "autmatisch" die anzahl der betroffenen datensätze der ergebnismenge.
Ilja