PHP+Mysql 查询字段内具有相同值的数据,将每个结果数据某一字段(代表)值提取用","分隔全数写入另一字段内
表内数据结构如下:ID为自增值唯一ID,A字段为已有数据需提取的值;B字段为已有数据的关键值;C字段为原空白或(有数据)的目标结果写入值。(如附图)我的要求是:查询出B字...
表内数据结构如下:
ID为自增值唯一ID,A字段为已有数据需提取的值;B字段为已有数据的关键值;C字段为原空白或(有数据)的目标结果写入值。(如附图)
我的要求是:查询出B字段所有具有相同值的数据,然後提取 A字段的内容,用","分隔分别写入C字段内,使用PHP实施,最好能自动执行或按一个键全部完成执行。谢谢! 展开
ID为自增值唯一ID,A字段为已有数据需提取的值;B字段为已有数据的关键值;C字段为原空白或(有数据)的目标结果写入值。(如附图)
我的要求是:查询出B字段所有具有相同值的数据,然後提取 A字段的内容,用","分隔分别写入C字段内,使用PHP实施,最好能自动执行或按一个键全部完成执行。谢谢! 展开
1个回答
展开全部
假设表为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;
看我写的这么幸苦给我分吧~~~
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询