|
|
|
| Доброго времени суток! Есть такая проблема: требуется в одном запросе выбрать строки из двух таблиц, но с разными условиями. Вот:
"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. Извиняюсь за небольшой сумбур, надеюсь, все понятно:) проще объяснить сложно:) | |
|
|
|
|
|
|
|
для: amigo62
(25.05.2008 в 16:52)
| |
FROM
`top_sites` AS sites,
`top_day` AS day
|
Вот у Вас здесь после слова sites стоит запятая.
Запятая в этом месте, между прочим, это не просто знак препинания, или разделитель при перечислении таблиц. Это довольно сложная табличная операция.
Мой Вам совет.
Либо идите учите, что означает эта операция "запятая".
Либо никогда её не применяйте. Ибо ничего хорошего Вы от нее не получите.
PS. Для Вашего случая почти наверняка нужны будут два запроса - каждый к своей таблице.
PPS. Если вдруг решите всё же идти учить - двигайтесь в направлении операции JOIN. Узнаете множество интересных, а главное - полезнейших сведений. | |
|
|
|
|
|
|
|
для: Trianon
(25.05.2008 в 18:33)
| | Большое спасибо. Применяю два запроса и иду учить в направлении операции JOIN;) | |
|
|
|