は、次の2つのテーブル次の点を考慮このmySQLクエリで何が問題になっていますか?
tag_names (tag_id, tag_name)
tag_links (tag_id, image_id)
画像を複数のタグを持つことができ、私は特定の画像IDのすべてのタグを選択します。 次のクエリを試行していますが、正しく選択されていないようです(1つの行のみを選択します)。何が問題なのですか?
SELECT tag_name
FROM tag_names
LEFT JOIN tag_links.tag_id = tag_names.tag_id
WHERE tag_links.image_id = $image_id
編集:私はCodeIgniterのアクティブレコードクエリを使用している、誰かが助けることができるのCodeIgniterでfimiliarされていない場合ように、私は基本的なSQL形式で書きました。しかし、このクエリは、(CodeIgniterを使用せずに)単純なmysqlフォーマットではうまく動作しますが、CodeIgniterでは動作しません。構文に問題がなくても、ただ1つの行が選択されます。ここで
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();
tag_linksは、tag_namesとtag_namesを結合したままにする必要があります。 –
私の答えを編集しました。 – avall