widocznie cos jest nie tak, bo u mnie nie dziala.
wklejam strukture bazy wraz z przykladami danych - zeby byla jasnosc:)
powiedzmy ze chcesz pobrac ilosc stron ktore sa powiazane z tagami 1,8,9.
wg mnie powinno byc 4

CREATE TABLE IF NOT EXISTS `strona` (
`idstrona` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`nazwa` varchar(45) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`idstrona`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;
INSERT INTO `strona` (`idstrona`, `nazwa`) VALUES
(1, 'kontakt'),
(2, 'porady'),
(3, 'informacje'),
(4, 'wiadomosci'),
(5, 'ogloszenia');
CREATE TABLE IF NOT EXISTS `strona_tag` (
`idstrona` int(10) UNSIGNED NOT NULL,
`idtag` int(10) UNSIGNED NOT NULL,
PRIMARY KEY (`idstrona`,`idtag`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
INSERT INTO `strona_tag` (`idstrona`, `idtag`) VALUES
(1, 1),
(1, 8),
(1, 9),
(2, 1),
(2, 2),
(3, 1),
(4, 2),
(4, 3),
(4, 4),
(4, 5),
(5, 8),
(5, 9);
CREATE TABLE IF NOT EXISTS `tag` (
`idtag` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`nazwa` varchar(45) character SET latin1 collate latin1_general_ci NOT NULL,
PRIMARY KEY (`idtag`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
INSERT INTO `tag` (`idtag`, `nazwa`) VALUES
(1, 'kot'),
(2, 'pies'),
(3, 'mysz'),
(4, 'szczupak'),
(5, 'czapla'),
(8, 'kuropatwa'),
(9, 'kogut');