显示重复记录
问题描述:
我有一个名为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蚂蚁迁移,让我张贴的问题在这里,,,
答
您可以使用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
为什么你有这些:' “”, “”, “”, “”, “”, “”, “”, “”,” “,”“,”“,”“,”“,”“'? – NullUserException 2010-08-05 17:15:19
@NullUserException看起来像OP正在返回一组15个问题 – 2010-08-05 17:16:35
我觉得你会更好地修改你的表格布局......而不是写这个查询。 – Chris 2010-08-05 17:18:10