У меня есть 2 таблицы.
таблица 1 (проекты): идентификатор, имя, тип
таблица 2 (project_ratings): project_id, рейтинг
Некоторые проекты не имеют рейтингов.
SELECT `p`.`id`, `p`.`name`, AVG(pr.rating) FROM (`projects` p) JOIN `project_ratings` pr ON `p`.`id` = `pr`.`project_id` WHERE `p`.`type` = 'group' OR `p`.`type` = 'user';
Я хочу вернуть все проекты и вернуть NULL, если нет оценок. Этот запрос возвращает только те, которые имеют рейтинги.
Я пробовал левое соединение, правое соединение, полное соединение, все то же самое.
Использование активных записей CodeIgniter:
$this->db->select("p.id, p.name, AVG(pr.rating)");
$this->db->from('projects p');
$this->db->join('project_ratings pr', 'p.id = pr.project_id');
$this->db->where('p.type', 'group');
$this->db->or_where('p.type', 'user');
$res = $this->db->get();
что мне не хватает?