我想實現項目的標籤系統。標籤包含在一個名爲標籤的表格中,而我有另一個將項目鏈接到標籤的表格標籤。一個項目可以有多個標籤。當我顯示該項目時,我想列出所有標籤。我的問題是,有沒有辦法用一個查詢來做到這一點?如果我將商品結果加入到標籤表中,我可以獲得一個商品的多個記錄(對應於多個標籤),或者如果我通過標籤包含一個商品組,我會得到一條記錄,但只有第一個標籤。PHP/MySQL查詢加入
另一種方法是做第二個查詢只是爲了得到標籤,但效率不高。
Item table
Id | name
Tag table
Id | tag
Tagitem table
Id|itemid|tagid
Php
$sql = "select i.*,ti.*,t.*
FROM 'items' i
LEFT JOIN 'tagitem' ti
ON i.id=ti.itemid
LEFT JOIN 'tag' t
On ti.tagid=t.id
WHERE i.id='2'";
//returns multiple records
$sql.="group by i.id";
//returns only first tag
Thx對於任何建議。
你給GROUP_CONCAT一個試試嗎?它是如何爲你工作的? –