powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как можно получить 0 count'ом
7 сообщений из 7, страница 1 из 1
Как можно получить 0 count'ом
    #32679000
7andrey7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема такая. Есть две таблицы а и б. Записи таблицы б полем а_id ссылаются на записи таблицы а. Как выбрать все записи из а, с соответствующим им числом ссылок в таблице б. Причем должны выводится все записи из а, даже если в б нет ссылабщихся на эту запись, в этом случае должен выводится 0.
Есть вариант select а.id,count(*) from а,б where а.id=б.а_id group by а.id
Но беда в том, что при этом не выведутся записи из а, если на них нет ссылок в б. Вот такая вот беда.
...
Рейтинг: 0 / 0
Как можно получить 0 count'ом
    #32679013
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого существует left join
Код: plaintext
1.
select а.id,count(*) from а left join b on а.id=б.а_id group by а.id
...
Рейтинг: 0 / 0
Как можно получить 0 count'ом
    #32679036
7andrey7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое!
...
Рейтинг: 0 / 0
Как можно получить 0 count'ом
    #32691488
serf2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, а как будет выглядить запрос если еще одна появится таблица, к примеру С. Та же задача, только с 3-мя таблицами.
...
Рейтинг: 0 / 0
Как можно получить 0 count'ом
    #32691514
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есчо один LEFT JOIN
Вроде - если не ошибаюсь - 30 таблиц таким макаром сджойнить можно...
...
Рейтинг: 0 / 0
Как можно получить 0 count'ом
    #32691570
serf2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это конечно понятно :)
А какой именно синтаксис?
Вот 2 запроса, как их вместе объеденить?
1. $sth=$dbh->prepare("select forums.id, forums.name, COUNT(topics.id_f), DATE_FORMAT(forums.last_data_db, '%d-%m-%Y %H:%i:%s') from forums left join topics on forums.id = topics.id_f group by forums.last_data_db ORDER BY forums.last_data_db DESC LIMIT $smesh, $limit");
2. $sth=$dbh->prepare("select COUNT(replies.id_f) from forums left join replies on forums.id = replies.id_f group by forums.last_data_db ORDER BY forums.last_data_db DESC LIMIT $smesh, $limit");
За ранее благодарен
...
Рейтинг: 0 / 0
Как можно получить 0 count'ом
    #32692008
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serf2004Подскажите пожалуйста, а как будет выглядить запрос если еще одна появится таблица, к примеру С. Та же задача, только с 3-мя таблицами.

SELECT*
FROM (user LEFT JOIN phone ON user.id = phone.user_id) &
LEFT JOIN address ON user.id = address.user_id
WHERE user.id = 2;

Tables: user, phone, address
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как можно получить 0 count'ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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