LEFT JOIN Fluent Nette\Database
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- newbie
- Člen | 31
A zase netuším jak se dostat k fluent zápisu LEFT JOINu. Jde
o kategorie vs. podkategorie id<->parent
potřebuju něco jako:
SELECT t2.id AS mnau, CONCAT(t1.name,' - ',t2.name) AS haf
FROM genre AS t1
LEFT JOIN genre AS t2 ON t2.parent = t1.id where t1.parent IS NULL
nepotřebuju nekonečné zanoření, zatím dvě v budoucnu možná tři úrovně mi budou stačit.
- enumag
- Člen | 2118
LEFT JOIN v Nette\Database není. Zatím vždy když jsem si myslel že jej potřebuji jsem dokázal najít jiné řešení, takže by to myslím mělo jít i v tomto případě. Bohužel ten SQL dotaz mi nějak není jasný (respektive asi jsem líný přemýšlet). Můžeš lépe popsat jaká data potřebuješ a jak vypadá struktura tvých tabulek?
- newbie
- Člen | 31
Jde o tabulku kategorií:
CREATE TABLE IF NOT EXISTS `category` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR(45) NULL ,
`parent` INT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB
No tohle je dotaz do formulářového selectu pro výběr potomků, ale i tak by mě zajímalo jak ji třeba celou vypíšu:
SELECT t1.name AS lev1, t2.name as lev2, t1.id AS id1, t2.id AS id2
FROM category AS t1
LEFT JOIN category AS t2 ON t2.parent = t1.id
Editoval newbie (4. 3. 2013 19:51)