Сенсей
Новичок
Соединение 3 таблиц... все в порядке... но только если во всех 3 таблицах есть данные
Есть 3 таблицы
1 - users - Юзеры
2 - users_photos - Фотки юзеров с привязкой к Юзеры
3 - users_photos_rating - тут храняться оценки другими юзерами фотографий. Имеется привязка к users_photos
Есть cтраница (по &id= id фотки), на ней выводится фотка, имя юзера, форма для выбора оценки фотки (ну типа 1 - 2 - 3 - 4 - 5 через radio)
Плюс нужно вывести рейтиг по оценкам к данной фотке
Нужно все это сделать ОДНИМ запросом... связать 3 таюлицы...
Я сделал :
Все работает прекрасно... НО - только если в таблице оценок (users_photos_rating) имеется хотя бы одна оценка...
Если же это новая фотка... и ни кто за нее не голосовал... то запрос возвращает нулевой результат (это естественно, ибо по условию AND c.user_photo_rating_to_photo_id='138' он ничего не находит...
Как лечить?
Есть 3 таблицы
1 - users - Юзеры
2 - users_photos - Фотки юзеров с привязкой к Юзеры
3 - users_photos_rating - тут храняться оценки другими юзерами фотографий. Имеется привязка к users_photos
Есть cтраница (по &id= id фотки), на ней выводится фотка, имя юзера, форма для выбора оценки фотки (ну типа 1 - 2 - 3 - 4 - 5 через radio)
Плюс нужно вывести рейтиг по оценкам к данной фотке
Нужно все это сделать ОДНИМ запросом... связать 3 таюлицы...
Я сделал :
PHP:
select a.user_photo_user_id, a.user_photo_desc, a.user_photo_file, a.user_photo_date, a.user_photo_views, b.user_id, b.user_nick_name, sum(c.user_photo_rating_value), count(c.user_photo_rating_id) as voters from users_photos a, users b, users_photos_rating c where a.user_photo_id='138' AND b.user_id=a.user_photo_user_id AND c.user_photo_rating_to_photo_id='138' GROUP by c.user_photo_rating_to_photo_id
Если же это новая фотка... и ни кто за нее не голосовал... то запрос возвращает нулевой результат (это естественно, ибо по условию AND c.user_photo_rating_to_photo_id='138' он ничего не находит...
Как лечить?