Jeff

Рейтинг
122
Регистрация
03.07.2006

Пашет, но сайт временно закрыт на обновление.

Пока что не планируется.

ДА, то что надо!:)

Но я уже нашел решение на форуме 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. Делаем запрос снова - все гуд.

к тому, что когда во второй таблице нет соответсвий работает именно так. если убрать, то выборки не будет.

мдамс...чтото после стольких моих мучений, мне почемуто начинает казаться, что то что я хочу неосуществимо:(

Запрос:

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

Все так и есть. Вот только что создал такую таблицу, сделал запрос при одном и другом случае. И все так есть как я и писал.

НЕ робит.

Прикол в том, что соответствующие записи с условием t1.id3=t2.id3 есть. но с условием t2.count=3 нет.

Если бы записей во второй таблице с условием t1.id3=t2.id3 не было, то вывелась бы запись из первой таблицы, а из второй занчения NULL.

Незнаю почему, но работает именно так

Алексей Петрушов: возможно

SavaHost: А я вам стучал в аську. Но увы никто не ответил...

akigleo: пока что я дал посмотреть PRO версию старым покупателям скрипта. Остальные увидят ее только после выхода.

Всего: 431