Autor Zpráva
Inkjex
Profil *
Hezký den,
nějak se mi nedaří sestavit jeden dotaz na db.

sloupec tabulky VARCHAR obsahuje např. křestní ale i kompletní jména, která se mohou libovolně opakovat viz:

(obsah např:

Jiří
Karel
Petr
Karel Vlk
Jíří Fojta
Karel
Petr Vorel
Karel Boura
Jiří

atd)
-----------

Potřebuju vybírat a zobrazit data pomocí LIKE 'jmeno%' a zároveň spočítat kolik je přímých shod a kolik rozšířených.... pokud možno co nejúsporněji jedním SELECTEM (?)

Když zadám frázi Karel, kolik je tam "Karlů" a kolik těch ostatních "Karel Vlk, Karel Boura ... apod"
ninja
Profil
Můžete zkusit si hrát z nějakou šílenstí jako SUM( LENGTH(name) - LENGTH(REPLACE(name, ' ', ''))+1), což vám spočítá jendotlivá slova, ale nebude to fungovat dobře ani přesně.

Doporučil bych překopat celou databázi a využít index jednotlivých slov s M:N vazbou.
Inkjex
Profil *
a... nějakým COUNT -em by to nešlo???
Kajman
Profil
select count(*) vsech_karlu, sum(jmeno='Karel') presnych_karlu
from tabulka
where jmeno like 'Karel%'
Inkjex
Profil *
Díky moc za trefu do černého Kajmane, helflo mi to ;-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: