2010-08-05 119 views
1

我有一個名爲problemTBL表,其中包含以下顯示重複記錄

problem_id Autoincrement,Pk 
passenger_id, accept duplicate values 
problem_name, problem description 

領域的這些樣本記錄:

Problem_id passenger_id problem_name 
1    22   NO Air condition 
2    22   Dirty Seats 
3    24   Driver Not helped 
4    22   Old Age Car 
5    23   Old Age Driver 
6    22   Very speed driving 

現在我想找回像

["NO Air condition","Dirty Seats","Old Age Car","Very speed driving","","","","","","","","","","",""] passenger_id 22 

["Driver Not helped","","","","","","","","","","","","","",""] passenger_id 24 
紀錄

passenger_id problem_name 
22    NO Air condition |=| Dirty Seats |=| Very speed driving |=|Old Age Car 
24    Driver Not helped 
23    Old Age Driver 

查詢可能嗎?

喜的事,我做遷移,

目前我現在保存在各個所有的問題,我現在所做的遷移, 我希望將所有問題的特定客戶到一個單列,

這是一個客戶可以提高標準的高達15只(對於投訴,我們有seprate形式,還有我們提出一些問題,他們只需選中並提交..)

因此,我們已經清楚地決定,只有15的問題,

所以,一行一個客戶,

,現在是最新的兼容格式有15個投訴,如果他們選擇的,那麼這個問題將檢查其他空VAL將插入,

雖然submiting形式我只是交所有數值爲json_encoded然後我插入此JSON到表...

明白了我的觀點......

對於未來的投訴,我做節目很好,

但過去compliants IW螞蟻遷移,讓我張貼的問題在這裏,,,

+0

爲什麼你有這些:' 「」, 「」, 「」, 「」, 「」, 「」, 「」, 「」,」 「,」「,」「,」「,」「,」「'? – NullUserException 2010-08-05 17:15:19

+0

@NullUserException看起來像OP正在返回一組15個問題 – 2010-08-05 17:16:35

+0

我覺得你會更好地修改你的表格佈局......而不是寫這個查詢。 – Chris 2010-08-05 17:18:10

回答

1

您可以使用GROUP_CONCAT()聚合來自文本字段多行。

SELECT 
     `passenger_id`, 
     GROUP_CONCAT(`problem_name` SEPARATOR ' |=| ') 
FROM 
    `problemTBL` 
GROUP BY 
    `passenger_id` 

此外,您可能希望增加group_concat_max_len變量。

SELECT查詢之前: SET SESSION group_concat_max_len = MAX_BYTES