Рассмотрим следующие две таблицы:
tag_names (tag_id, tag_name)
tag_links (tag_id, image_id)
Изображение может иметь несколько тегов, я хочу выбрать все теги для определенного идентификатора изображения.
Я пытаюсь выполнить следующий запрос, но, похоже, он не выбран правильно (выбирается только одна строка). Что с ним не так?
SELECT tag_name
FROM tag_names
LEFT JOIN tag_links.tag_id = tag_names.tag_id
WHERE tag_links.image_id = $image_id
Редактировать: я использую запрос активной записи CodeIgniter, но я написал в базовом формате SQL, так что если кто-то не знаком с CodeIgniter, может помочь. Однако этот запрос прекрасно работает с простым форматом mysql (без использования CodeIgniter), но странным образом не работает с CodeIgniter, даже если с синтаксисом нет никаких проблем, он просто выбирает одну строку.
Вот синтаксис CodeIgniter:
$this->db->select('tag_name');
$this->db->from('tag_names');
$this->db->join('tag_links', 'tag_links.tag_id = tag_names.tag_id', 'left');
$this -> db -> where('tag_links.image_id', (int)$image_id);
$query = $this->db->get();