ホームページ  >  記事  >  バックエンド開発  >  データベースのクエリと更新に関する質問

データベースのクエリと更新に関する質問

WBOY
WBOYオリジナル
2016-06-23 14:23:30826ブラウズ

テーブル構造:
ID
order_id
名前
住所
数量
product_number
製品
Logistics_id

サンプルデータ
id---order_id----name----address----qty-- --product ----logistics_id
1-----000001----王港----深セン----10----iphone-----?
2-----000002 ---? -王崗----深セン----5-----iPod-------
3-----000003----リエ--------北京--? ---5-----ipad------?
4-----000004----趙西-----広州---8-----ipad-- -----?
5-----000005-----ラ-----北京-----4-----iPhone-----?


各注文ファイルをダウンロードしてシステムにアップロードします。ロジスティクス 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


出力
name, address, id_list------------------------wanggang, shenzhen, 1 2lier, beijing 3 5zhaosi,guangzhou, 4





ドキュメント: http://dev.mysql.com/ doc/refman /5.0/en/group-by-functions.html#function_group-concat

iasky:
最初にすべてのデータをデータベースにインポートし、次にクエリを実行し、次に数値を更新する必要があるという意味ですか? ? ?
ID_LISTを取り出し、配列を分割してから値を割り当てる必要がありますか? ? ?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。