Надеюсь, что кто-то может помочь мне с запросом MYSQL
У меня есть 3 таблицы базы данных:
Таблица points_of_interest содержит все подробности о местности.
Таблица point_of_interest_type представляет собой список типов, например, ресторан, кафе, музей и т. д. В этой таблице также есть активный столбец (1 или 0).
poi_poi_types - это таблица сопоставления, поэтому она содержит идентификатор точки интереса и идентификатор типа точки интереса.
Точка интереса может иметь много типов точек интереса, поэтому потенциально может иметь несколько записей в таблице poi_poi_types.
Итак, результаты, которые я хочу, - это вернуть список points_of_interest, но только для активных типов точек интереса.
Это запрос codeignitor, который у меня есть до сих пор, но он неверен - он возвращает каждый момент фактической точки интереса, которая находится в таблице poi_poi_types
$this->db->select('poi.*, poi_types.type as poi_type');
$this->db->from('poi');
$this->db->join('poi_poi_types', 'poi.id = poi_poi_types.poi_id');
$this->db->join('poi_types', 'poi_types.id = poi_poi_types.poi_type_id');
$this->db->where('poi_types.active', 1);
Да, правильно - это именно то, чего я пытаюсь достичь
@ user1801579, вы пробовали ответ, который я опубликовал?
Да, я пробовал ... Это не на 100% правильно и по-прежнему не дает четкого результата для POI ... Если POI имеет две записи в таблице poi_poi_types, то получается два результата ... Мне нужен только один






Я считаю, что это должно сработать. Ну, чтобы настроить его, чтобы оператор select был отличным. Я думаю, что это по сути сделало бы SELECT DISTINCT
$this->db->distinct();
$this->db->select('poi.*, poi_types.type as poi_type');
$this->db->from('poi');
$this->db->join('poi_poi_types', 'poi.id = poi_poi_types.poi_id');
$this->db->join('poi_types', 'poi_types.id = poi_poi_types.poi_type_id');
$this->db->where('poi_types.active', 1);
Итак, вы хотите сгруппировать свой результат по фактическим интересующим объектам, генерируя информацию
poi.*только один раз, а информациюpoi_typesдля каждого активного типа (в виде списка)?