考慮以下兩個表:這個mySQL查詢有什麼問題?
tag_names (tag_id, tag_name)
tag_links (tag_id, image_id)
的圖像可以有多個標籤,我想選擇一個特定的圖像ID的所有標籤。 我想下面的查詢,但它似乎沒有正確選擇(只選擇一行),它有什麼問題?
SELECT tag_name
FROM tag_names
LEFT JOIN tag_links.tag_id = tag_names.tag_id
WHERE tag_links.image_id = $image_id
編輯:我用笨的活動記錄查詢,但我基本的SQL格式寫的,這樣,如果有人不使用CodeIgniter fimiliar可以提供幫助。然而,這個查詢在簡單的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();
我認爲tag_links必須與tag_names保持連接,而不是tag_names與tag_links。 –
編輯我的答案。 – avall