У меня есть 3 таблицы (это основные поля):
друг (хранит друзей пользователей)
- id_user
- id_str (уникальный идентификатор твиттера)
user (хранит пользователей)
- id_user
- id_str (уникальный идентификатор Twitter)
- name
wc_forecast (магазиныфутбольные прогнозы пользователей)
Мне нужно выбрать список всех друзейФорма ID пользователя 3 , а также количество их прогнозов.Это мой текущий запрос:
SELECT
COUNT(wc_forecast.id_forecast) AS q,
user.name AS name, user.screen_name AS screen_name
FROM user
JOIN friend ON friend.id_str = user.id_str
LEFT JOIN wc_forecast ON wc_forecast.id_user = user.id_user
WHERE
friend.id_user = 3
GROUP BY wc_forecast.id_user
ORDER BY q DESC
Проблема в том, что отображаются не все пользователи.В частности, тех, кто не сделал никаких прогнозов, в этом списке нет.Как ни странно, только один из них.
Вот SQL Fiddle с некоторыми примерами записей.
Вопрос в том, как я могу отобразить список всех друзей пользователя, включая всех, у которых также нет записей в wc_forecast?