Пашет, но сайт временно закрыт на обновление.
Пока что не планируется.
ДА, то что надо!:)
Но я уже нашел решение на форуме phpclub. Плюсик надо челу с того форума с ником chira, написал и объяснил почему именно так.
Ну и тебе, за то что подсказал как правильно:)
Дамп примера.
CREATE TABLE `t1` ( `id` int(11) NOT NULL auto_increment, `id3` int(11) NOT NULL, `info` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ; INSERT INTO `t1` VALUES (1, 1, 'onfo'); CREATE TABLE `t2` ( `id2` int(11) NOT NULL auto_increment, `id3` int(11) NOT NULL, `count` int(11) NOT NULL default '0', PRIMARY KEY (`id2`) ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ; INSERT INTO `t2` VALUES (1, 30, 5); INSERT INTO `t2` VALUES (6, 1, 14);
Запрос:
SELECT t1.id,t1.id3,t1.info,t2.count FROM t1 LEFT JOIN t2 ON t1.id3=t2.id3 WHERE t1.id=1 AND t2.count=1 OR t2.count IS NULL
Делаем запрос - ничего.
Удаляем из таблицы t2 запись с id2=6. Делаем запрос снова - все гуд.
к тому, что когда во второй таблице нет соответсвий работает именно так. если убрать, то выборки не будет.
мдамс...чтото после стольких моих мучений, мне почемуто начинает казаться, что то что я хочу неосуществимо:(
Все так и есть. Вот только что создал такую таблицу, сделал запрос при одном и другом случае. И все так есть как я и писал.
НЕ робит.
Прикол в том, что соответствующие записи с условием t1.id3=t2.id3 есть. но с условием t2.count=3 нет.
Если бы записей во второй таблице с условием t1.id3=t2.id3 не было, то вывелась бы запись из первой таблицы, а из второй занчения NULL.
Незнаю почему, но работает именно так
Алексей Петрушов: возможно
SavaHost: А я вам стучал в аську. Но увы никто не ответил...
akigleo: пока что я дал посмотреть PRO версию старым покупателям скрипта. Остальные увидят ее только после выхода.