关于数据库查询更新的问题

WBOY
Release: 2016-06-23 14:23:30
Original
825 people have browsed it

表结构:
id
order_id
name
address
qty
product_number
product
logistics_id

样例数据
id---order_id----name------address----qty----product----logistics_id
1-----000001----wanggang----shenzhen----10----iphone-----?
2-----000002----wanggang----shenzhen----5-----ipod-------?
3-----000003----lier--------beijing-----5-----ipad-------?
4-----000004----zhaosi------guangzhou---8-----ipad-------?
5-----000005----lier--------beijing-----4-----iphone-----?


我们会每个下载下个订单文件上传到我的系统里面,除了logistics_id字段以外,其它内容都是这个上传文件的内容。现在的需求是当我们把这些订单导入数据库的时候,需要给每个邮件编个编码(快递号,logistics_id字段),人名和地址一样的就要给同一个编码(同一个快递),请问怎么样在导入的时候给人名和地址一样的记录编同一个编码呢??如果不能在导入的时候编码,那有什么方法比较好呢?


回复讨论(解决方案)

你的是MySQL么?可以使用GROUP_CONCAT(expr)来获取条件的列表,然后更新这些id信息为一个快递号码


SELECT tb.name, tb.address, GROUP_CONCAT(tb.id SEPARATOR ' ') AS id_list    FROM table tbGROUP BY tb.name, tb.address
Copy after login


输出
name, address, id_list------------------------wanggang, shenzhen, 1 2lier, beijing 3 5zhaosi,guangzhou, 4
Copy after login





文档:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

iasky大大:
         你的意思是不是,我要先把数据全部导入到数据库,然后再查询,再去更新编号???

          那id_list是不是我还要取出来再对它分割数组再赋值???

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template