Forum Webscript.Ru

Общие => Базы данных => Тема начата: Rodent от 19 Декабря 2004, 20:53:16

Название: Запросы один - результат разный
Отправлено: Rodent от 19 Декабря 2004, 20:53:16
У меня два запроса

SELECT *
FROM we_topics
WHERE forum_id = \'6\'

и

SELECT t.*, MAX( p.date )
FROM we_topics t
INNER JOIN we_posts p ON p.topic_id = t.tid
WHERE p.forum_id=\'6\'
GROUP BY p.topic_id
ORDER BY p.date DESC

Выдает разное количество строк результата!!!
С чем это может быть связано?
Название: Запросы один - результат разный
Отправлено: Phoinix от 20 Декабря 2004, 08:43:25
Rodent

Цитировать
Запросы один - результат разный
У меня два запроса...

Наредкость запутанный вопрос... ;)

Цитировать
INNER JOIN we_posts p ON p.topic_id = t.tid

Лучше LEFT JOIN, т.к. накладывается ограничение на выборку данный из we_topics, за счет того, что не все записи первого запроса удовлетворяют условию: p.topic_id = t.tid
Название: Запросы один - результат разный
Отправлено: AliMamed от 20 Декабря 2004, 10:37:08
Цитировать
Rodent:
Выдает разное количество строк результата

да и результат разный. во втором запросе меньше строк, потому что используются функция аггрегирования и группировка.
Название: Запросы один - результат разный
Отправлено: XXXelAAA от 14 Января 2005, 07:02:04
jk
Название: Запросы один - результат разный
Отправлено: XXXelAAA от 14 Января 2005, 07:09:31
sdf