|
SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
30. 05. 2009. | #1 |
profesionalac
Qualified
Datum učlanjenja: 19.05.2007
Poruke: 123
Hvala: 13
3 "Hvala" u 3 poruka
|
[MySQL] Neogranicen broj kategorija i proizvoda, upit
Pozdrav.
U pirncipu imam situaciju gdje imam neogranicen broj kategorija (razliciti nivoi) i neogranicen broj proizovda. Na dnu se nalaze strukture tabela i testni podaci. U principu meni je potrebno da za odredjeni id kategorije (PK za category tabelu) dobijem prozivode koji spadaju u tu kategoriju (+proizvodi njenih potkategorija). Npr za ID = 3 bi trebalo da izbaci 3 prozivoda. Npr za ID = 5 bi trebalo da izbaci 1 prozivod. Npr za ID = 6 bi trebalo da izbaci 2 prozivoda. Npr za ID = 7 bi trebalo da izbaci 1 prozivod. Da li je ovo moguce da dobijem sa jednim upitom (pretohdno se pravi upit koji bi dobavio podatke o toj kategoriji, tako da su id_father, parents_list ... unaprijed dostupni) u kojem bi se mijenjao samo id kategorije. Naravno, ako je potrebno da se korz programsk jezik gradi upit, ovisno o broju kategorija, nije iskljucujauca varijanata. Lijep pozdrav. Kôd:
-- -- Table structure for table `category` -- CREATE TABLE `category` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) default NULL, `id_father` smallint(6) NOT NULL default '0', `parents_list` text NOT NULL, PRIMARY KEY (`id`), KEY `name` (`name`,`id_father`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ; -- -- Dumping data for table `category` -- INSERT INTO `category` VALUES (1, 'Cat 1', 0, '1'); INSERT INTO `category` VALUES (2, 'Cat 2', 0, '2'); INSERT INTO `category` VALUES (3, 'Cat 3', 0, '3'); INSERT INTO `category` VALUES (4, 'Cat 4', 0, '4'); INSERT INTO `category` VALUES (5, 'Cat 5', 1, '1,5'); INSERT INTO `category` VALUES (6, 'Cat 6', 1, '1,6'); INSERT INTO `category` VALUES (7, 'Cat 7', 6, '1,6,7'); -- -------------------------------------------------------- -- -- Table structure for table `product` -- CREATE TABLE `product` ( `id_product` int(11) NOT NULL auto_increment, `title` varchar(255) default NULL, `id_category` int(11) NOT NULL default '0', PRIMARY KEY (`id_product`), KEY `id_category` (`id_category`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; -- -- Dumping data for table `product` -- INSERT INTO `product` VALUES (1, 'Prod 1', 5); INSERT INTO `product` VALUES (2, 'Prod 2', 6); INSERT INTO `product` VALUES (3, 'Prod 3', 7); |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
MYSQL: Kako struktuirati tabele vezano za broj prikaza nekog teksta na stranici? | mb_sa | SQL baze podataka - Sponzor: Baze-Podataka.net | 6 | 03. 03. 2009. 08:16 |
Složen MySQL upit | Marko Medojevic | SQL baze podataka - Sponzor: Baze-Podataka.net | 2 | 03. 11. 2008. 21:05 |
Id, kategorija - jedan query | Ivan | SQL baze podataka - Sponzor: Baze-Podataka.net | 4 | 13. 11. 2007. 03:09 |
mysql upit | pele | Sva početnička pitanja | 1 | 14. 08. 2007. 05:13 |
Jedan artikal u više kategorija | Dušan Dželebdžić | Programiranje | 20 | 02. 08. 2006. 15:49 |