CREATE TABLE IF NOT EXISTS `portal_forums` (
`id` int(11) NOT NULL,
`cat` int(11) NOT NULL,
`name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`access` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Zrzut danych tabeli `portal_forums`
--
INSERT INTO `portal_forums` (`id`, `cat`, `name`, `access`) VALUES
(1, 1, 'forum nr 1 ', 0),
(2, 1, 'forum nr 2', 1),
(3, 2, 'forum 3', 2),
(4, 2, 'forum 4', 8),
(5, 1, 'forumik', 9);
CREATE TABLE IF NOT EXISTS `portal_topics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`forum` int(11) NOT NULL,
`name` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`views` int(11) NOT NULL,
`autor` int(11) NOT NULL,
`last_post` int(11) NOT NULL,
`date` datetime NOT NULL,
`closed` tinyint(1) NOT NULL DEFAULT '0',
`sticky` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5061 ;
--
-- Zrzut danych tabeli `portal_topics`
--
INSERT INTO `portal_topics` (`id`, `forum`, `name`, `views`, `autor`, `last_post`, `date`, `closed`, `sticky`) VALUES
(5018, 1, 'pierwszy temat :)', 12, 8, 8, '2009-07-17 18:09:59', 1, 1),
(5019, 1, 'drugi temat', 19, 8, 12, '2009-07-16 10:33:06', 1, 1),
(5020, 1, 'trzeci temat', 218, 8, 8, '2009-07-25 19:24:49', 0, 1),
(5021, 2, 'z', 9, 8, 8, '2009-07-20 11:45:49', 0, 0),
(5022, 1, 'asd', 2, 8, 8, '2009-07-17 16:43:39', 0, 0),
(5023, 1, 'zz', 1, 8, 8, '2009-07-17 18:24:12', 0, 0),
(5024, 1, 'aaa', 1, 8, 8, '2009-07-17 18:24:16', 0, 0),
(5025, 1, '12', 1, 8, 8, '2009-07-17 18:24:20', 0, 0),
(5026, 1, '123', 1, 8, 8, '2009-07-17 18:24:24', 0, 0),
(5027, 1, '123', 2, 8, 8, '2009-07-17 18:25:01', 0, 0),
(5028, 1, 'addas', 1, 8, 8, '2009-07-17 18:24:30', 0, 0),
(5029, 1, 'sad', 1, 8, 8, '2009-07-17 18:24:57', 0, 0),
(5030, 1, 'asd', 1, 8, 8, '2009-07-17 18:25:08', 0, 0),
(5031, 1, 'asd', 1, 8, 8, '2009-07-17 18:25:12', 0, 0),
(5032, 1, 'asd', 1, 8, 8, '2009-07-17 18:25:15', 0, 0),
(5033, 1, 'ds', 1, 8, 8, '2009-07-17 18:25:19', 0, 0),
(5034, 1, 'asd', 2, 8, 8, '2009-07-17 18:25:28', 0, 0),
(5035, 1, '17', 1, 8, 8, '2009-07-17 18:25:32', 0, 0),
(5036, 1, '18', 1, 8, 8, '2009-07-17 18:25:36', 0, 0),
(5037, 1, '19', 1, 8, 8, '2009-07-17 18:25:40', 0, 0),
(5038, 1, '20', 1, 8, 8, '2009-07-17 18:25:44', 0, 0),
(5039, 1, '21', 1, 8, 8, '2009-07-17 18:26:03', 0, 0),
(5040, 1, '22', 4, 8, 11, '2009-07-18 12:58:21', 0, 0),
(5041, 1, 'za', 1, 11, 11, '2009-07-18 14:22:03', 0, 0),
(5042, 1, 'zaaa', 1, 11, 11, '2009-07-18 14:23:11', 0, 0),
(5043, 1, 'asdasd', 1, 11, 11, '2009-07-18 14:23:41', 0, 0),
(5044, 1, 'asd', 1, 11, 11, '2009-07-18 14:32:47', 0, 0),
(5045, 1, 'd', 5, 11, 11, '2009-07-18 17:20:26', 1, 0),
(5046, 1, 'rt', 1, 11, 11, '2009-07-18 17:20:38', 0, 0),
(5047, 1, 'rt', 2, 11, 11, '2009-07-18 17:20:39', 0, 0),
(5048, 1, 'dfgg', 1, 11, 11, '2009-07-18 17:20:45', 0, 0),
(5049, 1, 'dfgg', 6, 11, 8, '2009-07-20 11:48:26', 1, 0),
(5050, 1, 'df', 2, 11, 11, '2009-07-18 17:21:08', 0, 0),
(5051, 1, 'asd', 6, 11, 11, '2009-07-18 17:21:38', 0, 0),
(5054, 2, 'dsfdsf', 14, 8, 11, '2009-07-26 19:44:22', 0, 0),
(5055, 1, 'closed', 16, 8, 8, '2009-07-20 11:51:36', 0, 1),
(5056, 1, 'zas', 11, 8, 11, '2009-07-24 13:57:33', 1, 0),
(5057, 5, 'zz', 3, 9, 9, '2009-07-23 11:57:20', 0, 0),
(5058, 3, 'zzzz', 4, 8, 8, '2009-07-24 10:05:22', 0, 0),
(5059, 3, 'aa', 4, 8, 8, '2009-07-24 10:06:59', 0, 0),
(5060, 4, 'zzz', 2, 8, 8, '2009-07-24 15:39:30', 0, 0);
edit://
kod który działa, i pobiera mi część pól które chce wygląda tak
SELECT f . * , count( t.id ) AS num_topics
FROM `portal_forums` f, `portal_topics` t
WHERE f.id = t.forum
GROUP BY f.id ASC