Nos, az OO miatt nem tudok keresztül-kasul módosítgatni, a lassú, sok adatot megmozgató megoldásoknak meg nem annyira vagyok híve (bár ez kicsit ellentmond az OO-nak).
Na, lehetne egy olyat, hogy
select ... ifnull(nullif(bejegyzés_cím, '0'), left(bejegyzés_szöveg, 50)) as bejegyzés_cím
Csak sajnos ha html van az első 50 karakterben akkor az bekerül a címbe, esetleg a layoutot elrontva.
A megoldás ez:
ifnull(nullif(cím, '0'), left(left(szöveg,instr(szöveg, '<')-1), 50)) as cím
Ez az első '<' jelig idéz, de tovább csonkít, ha az több mint 50 karakterre van a szöveg kezdetétől.
Királyság.
Ez látszólag ellentmond annak, hogy mostanság minden bejegyzésem <p>-vel kezdődik, gyakorlatilag azonban nem, mert abban az időben, amikor még nem adtam címeket a bejegyzéseimnek, nem írtam <p>-ket.
De lehet hogy jobb lenne egyszerüen egy nagy táblafrissítő selecttel egyszer s mindenkorra megfeledkezni arról a problémáról hogy régen nem voltak bejegyzéscímek, és mindent megcímezni a bejegyzések elejével. Asszem ez lesz, valamikor.