Autor Zpráva
Martin
Profil
Ahoj,
mám tabulku

CREATE TABLE `test_menu` (
`id` tinyint(4) NOT NULL auto_increment,
`adresa` varchar(255) NOT NULL default '',
`polozka` varchar(255) NOT NULL default '',
`rodicovske_id` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;

INSERT INTO `test_menu` VALUES (1, 'uvod-stranka', 'uvodni stranka', 0);
INSERT INTO `test_menu` VALUES (2, 'diskusni-forum', 'diskusni forum', 0);
INSERT INTO `test_menu` VALUES (3, 'polozka1', 'polozka1', 1);
INSERT INTO `test_menu` VALUES (4, 'polozka2', 'polozka2', 1);

znam jen hodnotu uvodni-stranka. Potřebuji z db vybrat hodnoty, ktere maji rodicovske_id rovno nule, a kde se rodicovske_id rovna id z radku, kde znam hodnotu uvodni-strana. Zkoušel jsem to takto. Snad by to i fungovalo, kdybych neměl mysql verze 4.0

$hodnota = "uvod-stranka";
SELECT * FROM test_menu WHERE rodicovske_id = '0' OR (rodicovske_id = ("SELECT id FROM menu WHERE adresa = '$hodnota"))

Nevíte, jak to co nejjednodušeji vyřešit? Děkuji.
Kajman_
Profil *
zkusil bych to takto...

SELECT m1.* FROM test_menu m1
LEFT JOIN test_menu m2 on (m1.rodicovske_id=m2.id and m2.adresa='uvod-stranka')
WHERE m1.rodicovske_id=0 or m2.id is not null
Toto téma je uzamčeno. Odpověď nelze zaslat.

0