Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Выборка из таблицы исходя из предыдущего результата

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
Int_20h
Гость





СообщениеДобавлено: Сб Апр 20 2002 14:06    Заголовок сообщения: Выборка из таблицы исходя из предыдущего результата Ответить с цитатой

Есть 2 таблицы: ips (просто список IP адресов, один столбец IPS_IP) и log (записи посещений в которых есть столбец LOG_IP).
Хотелось бы узнать, можно ли в MySQL'е создать такой запрос (один!!!), чтобы тот вывел все поля таблицы log, в которых поле LOG_IP не было бы равно ни одной записи из колонки IPS_IP в таблице ips.
Вернуться к началу
Rel



Зарегистрирован: 20.04.2002
Сообщения: 9
Откуда: Одесса

СообщениеДобавлено: Сб Апр 20 2002 16:51    Заголовок сообщения: Re: Выборка из таблицы исходя из предыдущего результата Ответить с цитатой

select ips.ips_ip from ips, log where ips.ips_iplog.log_ip

кажется так, хотя я в SQL-е полный ламер =)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Int_20h
Гость





СообщениеДобавлено: Сб Апр 20 2002 17:23    Заголовок сообщения: Re: Выборка из таблицы исходя из предыдущего результата Ответить с цитатой

>>select ips.ips_ip from ips, log where ips.ips_iplog.log_ip

Ты имел ввиду 'select ips.ips_ip from ips, log where ips.ips_ip != log.log_ip'?

Не сработает. Прикол в том, что если в таблице ips две записи, скажем 1.1.1.1 и 2.2.2.2, а в таблице log одна запись, скажем 2.2.2.2, то, в принципе, мы ее должны исключить, т.к. такая же запись есть в таблице ips, но что получается - после такого запроса SQL'ем формируется таблица
IPS_IP LOG_IP
1.1.1.1 2.2.2.2
2.2.2.2 2.2.2.2

а потом из нее извлекается первая строка, т.к. поля не равны... Вот и выходит, что несмотря на то, что IP 2.2.2.2 есть в таблице ips, строка с этим IP все равно выводится...
Вернуться к началу
Zuiko
Гость





СообщениеДобавлено: Вс Апр 21 2002 08:46    Заголовок сообщения: Re: Выборка из таблицы исходя из предыдущего результата Ответить с цитатой

select ips.ips_ip from ips
where ips.ips_ip not in (select != log.log_ip from log)

В нормальном SQL (ANSI) сработает, а MySQL не знаю, он же "обрезаный".
Вернуться к началу
AlexLexus



Зарегистрирован: 26.04.2002
Сообщения: 6

СообщениеДобавлено: Пн Апр 22 2002 08:12    Заголовок сообщения: Re: Выборка из таблицы исходя из предыдущего результата Ответить с цитатой

SELECT log.*
FROM log LEFT JOIN ips ON log.LOG_IP = ips.IPS_IP
WHERE ((ips.IPS_IP) Is Null)

Работает везде и всегда!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...