PHP+Mysql 查询字段内具有相同值的数据,将每个结果数据某一字段(代表)值提取用","分隔全数写入另一字段内

表内数据结构如下:ID为自增值唯一ID,A字段为已有数据需提取的值;B字段为已有数据的关键值;C字段为原空白或(有数据)的目标结果写入值。(如附图)我的要求是:查询出B字... 表内数据结构如下:
ID为自增值唯一ID,A字段为已有数据需提取的值;B字段为已有数据的关键值;C字段为原空白或(有数据)的目标结果写入值。(如附图)

我的要求是:查询出B字段所有具有相同值的数据,然後提取 A字段的内容,用","分隔分别写入C字段内,使用PHP实施,最好能自动执行或按一个键全部完成执行。谢谢!
展开
 我来答
c6iz
2012-06-11 · TA获得超过1417个赞
知道大有可为答主
回答量:1426
采纳率:100%
帮助的人:1025万
展开全部
假设表为S1,感觉没必要把列C写入到表里面去,因为等到表大的时候刷新一列所带到的成本太高了。可以创建一个以下的查询,或者创建一个视图。
select a.id ,a.a,a.b,(select group_concat(b.a) from s1 b where b.a <> a.a and b.b=a.b group by b.b) from s1 a;

看我写的这么幸苦给我分吧~~~
更多追问追答
追问
抱歉没能看懂,是否没分大小写,麻烦你用区分大小写(大写A、B、C表示三个字段名,小写a、b、c (模拟关键字)表示B字段的关建值)重新一下语句。还有因为我需要写入C字段用於CSV内容导出,所以是必须的。还有如何创建一个视图?谢谢~~
追答
SELECT a.ID ,a.提取值,a.关键值,
(SELECT group_concat(b.提取值)
FROM 表 b
WHERE b.提取值 a. 提取值 and b.关键值=a.关键值
GROUP BY b.关键值) as 写入值
FROM 表 a;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式