關於資料庫查詢更新的問題
表結構:
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 tb
GROUP BY tb.name, tb.address
輸出
name, address, id_list
------------------------
wanggang, shenzhen, 1 2
lier, beijing 3 5
zhaosi,guangzhou, 4
文檔:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat