Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как разделить условия для выборки из двух таблиц в одном запросе?
 
 автор: amigo62   (25.05.2008 в 16:52)   письмо автору
 
 

Доброго времени суток! Есть такая проблема: требуется в одном запросе выбрать строки из двух таблиц, но с разными условиями. Вот:

"SELECT 
sites.status AS status,
sites.record AS record,
sites.hosts AS hosts,
sites.hits AS hits,
sites.img AS img,
sites.color AS color,
day.id_ts AS id
FROM 
`top_sites` AS sites, 
`top_day` AS day
 WHERE
sites.id_ts='".$ID."'
AND day.ip='".$IP."' 
AND day.ua='".$UA."' 
AND day.id_ts='".$ID."'"' 
LIMIT 1"


Неизбежно выходит так, что если
day.ip!='".$IP."'
AND day.ua!='".$UA."'
AND day.id_ts!='".$ID."',
то выборка из `top_sites` AS sites не призводится, хотя
sites.id_ts='".$ID."'.
Как сделать так, чтобы условия обрабатывались каждое для своей таблицы, независимо друг от друга?
Заранее спасибо:)

P.s. Извиняюсь за небольшой сумбур, надеюсь, все понятно:) проще объяснить сложно:)

   
 
 автор: Trianon   (25.05.2008 в 18:33)   письмо автору
 
   для: amigo62   (25.05.2008 в 16:52)
 

FROM 
`top_sites` AS sites, 
`top_day` AS day 


Вот у Вас здесь после слова sites стоит запятая.
Запятая в этом месте, между прочим, это не просто знак препинания, или разделитель при перечислении таблиц. Это довольно сложная табличная операция.
Мой Вам совет.
Либо идите учите, что означает эта операция "запятая".
Либо никогда её не применяйте. Ибо ничего хорошего Вы от нее не получите.

PS. Для Вашего случая почти наверняка нужны будут два запроса - каждый к своей таблице.
PPS. Если вдруг решите всё же идти учить - двигайтесь в направлении операции JOIN. Узнаете множество интересных, а главное - полезнейших сведений.

   
 
 автор: amigo62   (25.05.2008 в 18:58)   письмо автору
 
   для: Trianon   (25.05.2008 в 18:33)
 

Большое спасибо. Применяю два запроса и иду учить в направлении операции JOIN;)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования