Итак, у меня есть запрос на активную запись, который я делаю в PHP в рамках Codeigniter, где я хочу выбрать все записи (названные «дорожки» ниже), где встречается определенное значение в соединении («теги»)', которые связаны с дорожками - к каждой дорожке может быть привязано несколько тегов).Что мне интересно, так это то, что есть ли способ заставить запрос искать треки, с которыми связаны ВСЕ выбранные теги.Таким образом, вместо того, чтобы он получал все дорожки, которые имеют значение links.tag_id, равное 1, а затем получал все дорожки, имеющие значение links.tag_id, равное 2, он возвращал все дорожки, которые имели бы значение links.tag_id, равное 1, а также 2. По сути, этовычитающий запрос, в котором он сужает выбранные результаты по большему количеству добавляемых вами тегов.Вот что я пока делаю:
$this->db->select('tracks.id,
tracks.name AS name,
tracks.filename,
tracks.url_name,
tracks.file_path_high,
tracks.filesize,
tracks.categories,
tracks.duration,
tracks.folder,
links.tag_id,
SUM(links.weight) AS total_weight,
tag_data.tag_name');
$this->db->distinct();
$this->db->from('music AS tracks');
$this->db->where_in('links.tag_id', array('1', '2');
$this->db->join('linked_tags AS links', 'links.track_id = tracks.id', 'inner');
$this->db->join('tags AS tag_data', 'tag_data.id = links.tag_id', 'inner');