Autor Zpráva
capricorn
Profil
Zdravim, potrebuji porad s jednim dotazem. Mam dve tabulky, v prvni tabulce jsou pismenka a v druhe tabulce jsou jmena a potrebuji vypsat vsechny pismenka abecedy a ke kazdemu pismenku priradit prvnich 20 jmen. Poradi mne prosim nekdo, jak toho docilim jednim dotazem?

Struktura tabulek:

pismenka

id | pismenko |

jmena

id | jmeno | pismenko |
Kajman_
Profil *
select p.pismenko,j.jmeno from pismenka p left join jmena j
on p.pismenko=j.pismenko and j.jmeno<=ifnull((select t.jmeno from jmena t where j.pismenko=t.pismenko order by t.jmeno limit 19,1),j.jmeno)
capricorn
Profil
Omlouvam se za delsi odezvu.

Tohle presne jsem potreboval, ale kdyz podle tohoto zneni udelam nize uvedeny dotaz, tak nedosahnu pozadovaneho vysledku a nemuzu prijit, kde v to dotaze je chyba.

SELECT k.nazevKategorie AS kategorie, p.nazevkategorie AS podkategorie
FROM (

SELECT kodKategorie, nazevKategorie
FROM kategorie1
WHERE LENGTH( kodKategorie ) =3
) AS k
LEFT JOIN (

SELECT SUBSTRING( kodKategorie, 1, 3 ) AS kodKategorie, nazevKategorie
FROM kategorie1
WHERE LENGTH( kodKategorie ) =6
) AS p ON k.kodKategorie = p.kodKategorie
AND p.nazevKategorie <= ifnull( (

SELECT t.nazevKategorie
FROM kategorie1 AS t
WHERE p.kodKategorie = SUBSTRING( t.kodKategorie, 1, 3 )
ORDER BY t.nazevKategorie ASC
LIMIT 19 , 1 ) , p.nazevKategorie
)
ORDER BY k.nazevKategorie ASC
Kajman_
Profil *
A v čem se to liší od požadovaného výsledku?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0