В этом случае, выводит всего одну строку под id = 112 (см. скриншот). По сути должно же выводиться все записи из таблицы messages за исключением тех сообщений которые есть в таблице messages_deleted, но к сожалению выводит всего одну строку Код (Text): CREATE TABLE IF NOT EXISTS `usermessages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nomer` varchar(250) COLLATE utf8_unicode_ci NOT NULL, `from` int(11) DEFAULT NULL, `to` int(11) DEFAULT NULL, `message` text COLLATE utf8_unicode_ci NOT NULL, `date` varchar(240) COLLATE utf8_unicode_ci NOT NULL, `new` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `from_del` int(11) NOT NULL, `to_del` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `to` (`to`), KEY `from` (`from`), KEY `new` (`new`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=114 ; INSERT INTO `usermessages` (`id`, `nomer`, `from`, `to`, `message`, `date`, `new`, `from_del`, `to_del`) VALUES (102, 'message4d7a0897473154d7a08974732e', 12, 21, 'привет!', '03.11.2011 16:03', 'ne', 0, 0), (103, 'message4d7a0897473154d7a08974732e', 21, 12, 'привет!', '03.11.2011 16:03', 'ne', 0, 0), (104, 'message4d7b520608b5b4d7b520608b70', 12, 21, 'привет!', '03.12.2011 15:03', 'ne', 0, 0), (105, 'message4d7b520608b5b4d7b520608b70', 21, 12, 'привет!', '03.12.2011 15:03', 'ne', 0, 0), (106, 'message4d7b524c5a0e24d7b524c5a0fa', 12, 21, 'привет!', '03.12.2011 15:03', 'ne', 0, 0), (107, 'message4d7b52c6479d04d7b52c6479e7', 12, 21, 'Hello!', '03.12.2011 16:03', 'ne', 0, 0), (108, 'message4d7b52c6479d04d7b52c6479e7', 21, 12, 'Hello!', '03.12.2011 16:03', 'ne', 0, 0), (113, 'message4d7b67e5e4d034d7b67e5e4d10', 12, 26, 'привет!', '03.12.2011 17:03', 'yes', 1, 0), (110, 'message4d7b538c731ae4d7b538c731c4', 12, 26, 'Heloo2', '03.12.2011 16:03', 'yes', 0, 0), (111, 'message4d7b54517571b4d7b545175729', 12, 21, 'Hello4', '03.12.2011 16:03', 'ne', 0, 0), (112, 'message4d7b54517571b4d7b545175729', 21, 12, 'Hello30', '03.12.2011 16:03', 'ne', 1, 1); CREATE TABLE IF NOT EXISTS `message_deleted` ( `id` int(11) NOT NULL AUTO_INCREMENT, `message_id` int(11) NOT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `message_id` (`message_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ; -- -- Дамп данных таблицы `message_deleted` -- INSERT INTO `message_deleted` (`id`, `message_id`, `user_id`) VALUES (1, 112, 12), (2, 112, 21), (3, 111, 12);
SELECT * FROM usermessages WHERE `from` = '12' AND id NOT IN ( SELECT message_id FROM message_deleted WHERE user_id = '12' )