не сложный запрос

Статус
В этой теме нельзя размещать новые ответы.

clevel

Новичок
не сложный запрос

есть две таблицы:
CREATE TABLE forum_list (
id int(5) unsigned NOT NULL auto_increment,
list_group int(3) unsigned NOT NULL default '0',
content varchar(100) NOT NULL default '',
description varchar(255) NOT NULL default '',
ordinal int(1) unsigned NOT NULL default '0',
UNIQUE KEY id (id),
KEY owner (list_group)
) TYPE=MyISAM;

INSERT INTO forum_list VALUES (1, 1, 'Общие', 'Здесь обсуждаются вопросы по работе с программным обеспечением, проблемы с настройкой', 0);
INSERT INTO forum_list VALUES (2, 1, 'Новости', 'Upgrade ПО, новые возможности', 1);
INSERT INTO forum_list VALUES (3, 2, 'Партнерская программа', 'Условия сотрудничества, обсуждение предложений по раскрутке и продаже ПО', 0);

CREATE TABLE forum_list_restrict (
list int(5) unsigned NOT NULL default '0',
group int(3) unsigned NOT NULL default '0',
KEY group (group,list)
) TYPE=MyISAM COMMENT='какие форумы не показывать данной группе';

INSERT INTO forum_list_restrict VALUES (2, 2);
INSERT INTO forum_list_restrict VALUES (3, 2);

Надо: вывести форумы, номеров которых нет в forum_list_restrict с list_group=1.
Делаю такой запрос:

SELECT fl.id,fl.content,fl.description
FROM forum_list fl,forum_list_restrict frl
WHERE fl.list_group=1
AND frl.`group` IN(2,3)
AND fl.id<>frl.list
Выводит не то, что хотелось бы (вывод трех строк с id 1,1,2, а надо только 1).
Помогите составить запрос!
 

mahoune

Guest
Помоему тебе LEFT JOIN нужен, а потом проверяшь таблицу слева на предмет значений NULL
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху