我有三個表GROUP BY,GROUP_CONCAT,CONCAT以及如何選擇
objects id, field1, field2, ...
groups id, title, color
group_ref oid, gid
所以每一個對象可以在N組。
我要顯示對象的列表,並且列表中的一個領域是集團的目標是在所以這是我想出了:
SELECT o.id,
CONCAT_WS("||", GROUP_CONCAT(gx.gid separator "|"), GROUP_CONCAT(gr.title, "#", gr.color separator "|")) AS groups
FROM objects AS o
LEFT JOIN group_ref AS gx ON o.id = gx.oid
LEFT JOIN groups AS gr ON gx.gid = gr.id
WHERE 1
GROUP BY o.id
的實際工作,我可以創建(串聯)組字段中所需的接口。
問題是:如何選擇僅在一個特定組中的對象(例如,gid = 4)?
這僅得到結果的一部分:
WHERE gr.id = 4
或
HAVING gr.id = 4
任何幫助,不勝感激! (也許還有一種更優雅的連接方式)
「不工作」不是一種解釋 – zerkms 2012-02-26 21:00:37