Portál AbcLinuxu, 12. května 2025 02:51
kategorie mám cat_id cat_name cat_parent 1 Sestavy 0 2 Servery 0 3 Nove 1 4 Nove 2 5 Použité 1 6 Použité 2 7 AMD 3 8 Intel 3 a položky mám item_id item_name cat_id 1 Položka A 4 2 Položka B 5 3 Položka C 5 4 Položka D 4 5 Položka E 6 6 Položka F 6 7 Položka G 7 8 Položka H 8
tree_left
a tree_right
. Udělej nad nima index, aby to bylo rychlé a přečti si o nested sets.
Pak ti stačí pro výběr podstromu prostý výběr všeho s tree_left
mezi tree_left
a tree_right
kořene podstromu.
Udělej nad nima index, aby to bylo rychléUdělej nad nima index ? Můžeš ještě trochu přiblížit ?
Pak ti stačí pro výběr podstromu prostý výběr všeho sTato věta mi nedává moc k pochopení, jelikož nejsem znalý dané problematiky. Můžeš prosím v podobě pro začátečníka? Děkujitree_left
mezitree_left
atree_right
kořene podstromu.
Udělej nad nima index ? Můžeš ještě trochu přiblížit ?
CREATE INDEX brm ON tabulka (sloupeček);
Tato věta mi nedává moc k pochopení, jelikož nejsem znalý dané problematiky. Můžeš prosím v podobě pro začátečníka?Viděl jsi ten obrázek na Wikipedii? Myslím, že je z něj jasné, jak se takové věci vyptává na podmnožiny.
Viděl jsi ten obrázek na Wikipedii?Ano, víděl, a dokážeš si představit přidat tam další kategorii? Počítání na dva dny
I při tisících kategorií a na CPU z telefonu je to otázka sekundy.
Pokud chceš rychle a dynamicky vytahovat kategorie, tak je to to správné.
Já jo, ty ne - znovu: I při tisících kategorií a na CPU z telefonu je to otázka sekundy.
Kdyby jsi si aspoň přečetl odkazovaný článek do konce, nemohl by jsi napsat, co jsi napsal. Nebo zkusil zapřemýšlet co máš hledat dle nápovědy v druhém odkazu.
Node Left Right Depth Clothing 1 22 0 Men's 2 9 1 Women's 10 21 1 Suits 3 8 2 Slacks 4 5 3 Jackets 6 7 3 Dresses 11 16 2 Skirts 17 18 2 Blouses 19 20 2 Evening Gowns 12 13 3 Sun Dresses 14 15 3a při použití tohoto dotazu se mi nevypíše nic. Ani se nedivím, když tam žádné sloupce s názvy Child Tree Parent ani Given nemám
SELECT Child.Node, Child.LEFT, Child.RIGHT FROM Tree AS Child, Tree AS Parent WHERE Child.Depth = Parent.Depth + 1 AND Child.LEFT > Parent.LEFT AND Child.RIGHT < Parent.RIGHT AND Parent.LEFT = 1 -- Given Parent Node Left Index
¡Odkazoval jsem český text! Takže na to fakt kašleš…
Dotaz je pro tabulku strom (Tree) a ty tam máš čičiny (cat), pokud to z toho nevyčteš, chce se to podívat na nějakou základní syntaxi SQL.
Snaha není koksovatelná.
Když máš pocit, že jsem ti poslal něco jiného, tak to je pak těžké...
Na závěr, myslím, že nemáš dostatek znalostí a přijde mi, že se po nic ani nepídíš, takže bych ti doporučil se zabývát mým druhým hintem a jí touto cestou.
> update `counter_ip` set id=id-100000 ... Příkaz proběhl v pořádku, bylo změněno 8 190 záznamů. (0.126 s)Pentium III
$stmt = $pdo->prepare('SELECT Child.Node, Child.LEFT, Child.RIGHT FROM cat AS Child, cat AS Parent WHERE Child.Depth = Parent.Depth + 1 AND Child.LEFT > Parent.LEFT AND Child.RIGHT < Parent.RIGHT AND Parent.LEFT = 1 -- Given Parent Node Left Index'); $stmt->execute(); $rows = $stmt->fetchAll(); foreach ($rows as $row) { echo $row['Node']; }
SELECT Child.Node, Child.LEFT, Child.RIGHT, Child.depth FROM cat AS Child, cat AS Parent WHERE Child.Depth = Parent.Depth + 1 AND Child.LEFT > Parent.LEFT AND Child.RIGHT < Parent.RIGHT order by Child.LEFT;
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.