Autor Zpráva
mySQLer
Profil *
Zdravim! Nevim si rady s jednim problemem. Mam tyto dve tabulky:
CREATE TABLE `polozky` (
 `id_polozky` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 `id_podkategorie` INT(10) UNSIGNED NOT NULL,
 `obrazek` VARCHAR(50) NOT NULL,
 `poradi` TINYINT(3) UNSIGNED NOT NULL,
 INDEX `podkategorie` (`id_podkategorie`)
);

CREATE TABLE `podkategorie` (
 `id_podkategorie` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
 `nazev` VARCHAR(100) NOT NULL
);


Potrebujeu z nich vytahnout polozky razene abecedne podle nazvu podkategorie a poradi polozek. Skousel jsem tohle ale nefunguje to.
SELECT
 `podkategorie`.`nazev`,
 `polozky`.*
FROM `polozky`
LEFT JOIN `podkategorie` ON `podkategorie`.`id_podkategorie` = `polozky`.`id_podkategorie`
ORDER BY `podkategorie`.`nazev` ASC, `polozky`.`poradi` DESC


Jak ma byt spravne ten dotaz??
Joker
Profil
mySQLer:
nefunguje to
To znamená co? Jakým způsobem to nefunguje?
mySQLer
Profil *
Joker:
no ja tam zapomel uvest jeste jednu taulku - kategorie. Ta je stejna jako podkategorie. A v tom dotazu davam radit podle kategorie.nazev a polozky.poradi. Vysledek je razeny podle nazvu, ale podle poradoveho cisla nikoliv.
Vysledek:
|| *kategorie/podkategorie* || *poradi* ||
|| AKategorie/CPodkategorie || 1 ||
|| BKategorie/APodkategorie || 1 ||
|| BKategorie/APodkategorie || 2 ||
|| BKategorie/BPodkategorie || 2 ||
|| BKategorie/APodkategorie || 3 ||

Ja potrebuji:
|| *kategorie/podkategorie* || *poradi* ||
|| AKategorie/CPodkategorie || 1 ||
|| BKategorie/APodkategorie || 1 ||
|| BKategorie/APodkategorie || 2 ||
|| BKategorie/APodkategorie || 3 ||
|| BKategorie/BPodkategorie || 2 ||
__construct
Profil
mySQLer:
Znamená to, že to chceš mať zoradené aj podľa názvu podkategórie, aj podľa názvu kategórie. Stačí teda doplniť: ORDER BY `kategorie`.`nazev`,`podkategorie`.`nazev` ASC, `polozky`.`poradi` DESC

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:

0