Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как работает LEFT JOIN? / 6 сообщений из 6, страница 1 из 1
05.02.2004, 22:23
    #32400093
GreenMS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работает LEFT JOIN?
Есть следующий запрос:
SELECT n.id, n.n_date, n.topic, n.text, count(COALESCE(c.id,0)) as cnt from news as n LEFT JOIN comments AS c ON c.n_id=n.id GROUP BY id ORDER BY n_date desc, id desc LIMIT 10

В мануле MySQL написано:
If there is no matching record for the right table in the ON or USING part in a LEFT JOIN, a row with all columns set to NULL is used for the right table.

То есть если для строки из news не попадется ничего в comments, то cnt должны быть 0. Но почему-то так не происходит. Выбираются только записи из news, у которых есть соответсвующие строки в comments. :-\
...
Рейтинг: 0 / 0
06.02.2004, 06:12
    #32400163
monstrU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работает LEFT JOIN?
в ms sql есть такая конструкция
left outer join
- может подойдет?
...
Рейтинг: 0 / 0
06.02.2004, 09:50
    #32400297
GreenMS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работает LEFT JOIN?
Нет, не подходит. Это все таки MySQL :-(
...
Рейтинг: 0 / 0
06.02.2004, 11:16
    #32400460
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работает LEFT JOIN?
1. left join - это и есть краткое наименование left outer join.
2. что будет, если убрать count, group by и coalesce?
3. cnt не должен быть 0. count считает и 0, и null, ничего не пропускает. надо наверно было сделать sum(if(isnull(c.id),0,1))
...
Рейтинг: 0 / 0
06.02.2004, 14:12
    #32400864
EL#
EL#
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работает LEFT JOIN?
попробуй жместо ON c.n_id=n.id написать ON n.id=c.n_id
или вместо LEFT JOIN написат RIGHT JOIN
...
Рейтинг: 0 / 0
06.02.2004, 14:21
    #32400882
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работает LEFT JOIN?
а также вместо select update

шутка.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как работает LEFT JOIN? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]