MySQLはフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します

MySQLはフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します

1例: 図1のフィールドを図2に分割するには

アカウントIDを選択、
    サブストリングインデックス(サブストリングインデックス(a.related_shop_ids,','
    ,b.help_topic_id+1)、'、'、-1) ショップID
  から 
    セールスハングアカウント
  参加する
    mysql.help_topic b
    b.help_topic_id について < (length(a.related_shop_ids) - length(replace(a.related_shop_ids,',',''))+1) 
  a.account_id で並べ替え

2: 次にshopsテーブルに接続してクエリを実行し、必要なフィールドを抽出します。ここではnameを抽出する必要があります。

ショップ s から shopname,a.account_id として s.`name` を選択します。
内部結合(

アカウントIDを選択、
    サブストリングインデックス(サブストリングインデックス(a.related_shop_ids,','
    ,b.help_topic_id+1)、'、'、-1) ショップID
  から 
    セールスハングアカウント
  参加する
    mysql.help_topic b
    b.help_topic_id について < (length(a.related_shop_ids) - length(replace(a.related_shop_ids,',',''))+1) 
  s.shop_id=a.shopid で a.account_id)a で注文

3: 同じaccount_idをコンマで区切って1行にまとめる

//これら 2 つはインターネットからの例です。select ID, group_concat(NAME) as NAME from table group by ID;

ID によるグループから ID、group_concat(NAME SEPARATOR ';') を NAME として選択します。
//上記の 2 つの参照を利用して、select account_id,GROUP_CONCAT(shopname SEPARATOR',')as shopname from (select s.`name` as shopname,a.account_id from shops s
内部結合(

アカウントIDを選択、
    サブストリングインデックス(サブストリングインデックス(a.related_shop_ids,','
    ,b.help_topic_id+1)、'、'、-1) ショップID
  から 
    セールスハングアカウント
  参加する
    mysql.help_topic b
    b.help_topic_id について < (length(a.related_shop_ids) - length(replace(a.related_shop_ids,',',''))+1) 
  order by a.account_id)a on s.shop_id=a.shopid) a GROUP BY account_id

効果は以下のとおりです

2番目の方法

sales_hang_account から g.account_id、g.related_shop_ids、GROUP_CONCAT(s.name) を shopname として選択し、find_in_set(s.shop_id 、g.related_shop_ids) でショップ s を結合します。
g.account_id でグループ化

SQL Server の

 [製品] -- このフィールドの保存形式は 7、8、9、11、10、12 で、データ型は nvarchar です。
id、ProductName=stuff を選択((base_supplier_product から ',' + product_chinaname を選択、charindex(','+ltrim(productid)+',',','+ Product + ',') > 0、xml path('') の場合)、1、1、'')
 base_Pre_sale_project より

結果

これで、MySQL のフィールドからカンマ区切りの値を抽出して新しいフィールドを作成する方法についての説明は終わりです。MySQL フィールドのカンマ区切りの値の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySql カンマ連結文字列クエリの 2 つの方法
  • フィールド値のコンマの最初のデータを取得するためのMySQLクエリステートメント
  • MySQLフィールドでカンマ区切り文字を使用する方法
  • MySQLでカンマ区切り値の列を列に変換する方法

<<:  fastdfs+nginxクラスタ構築の実装

>>:  JavaScript配列の組み込みメソッドの詳細な説明

推薦する

固定、流動的、柔軟なウェブページレイアウトの長所と短所の分析

ウェブデザイナーを長い間悩ませてきた疑問があります。それは、固定レイアウト、流動的レイアウト、柔軟レ...

MySQLはカバーインデックスを使用してテーブルリターンを回避し、クエリを最適化します。

序文カバーリング インデックスについて説明する前に、まずそのデータ構造である B+ ツリーを理解する...

nginx.conf ファイルの構文強調表示とフォーマット設定には nginx.vim ツールを使用します。

私はtengineを使用しています。インストールディレクトリは/usr/local/tengineで...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

MySQLトランザクション処理の使用方法とサンプルコードの詳細な説明

MySQL トランザクション サポートは、MySQL サーバー自体にバインドされているのではなく、ス...

Mysql 8.0 のインストールとパスワードのリセットの問題

Mysql 8.0 のインストールの問題とパスワードのリセット1: MySqlをダウンロードする公式...

jsを使用してカルーセル効果を実現する

今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...

IE6 フォントを定義できません: 13px サイズは無効です。IE6 は自動的に大きいフォント ソリューションを表示します。

数日前、Web ページのモジュールを調整していたとき、ページのフォント サイズを 13px に設定し...

Vueのインストール方法の紹介

目次1. グローバルに登録されたコンポーネント2. グローバルカスタム指示vue 、新しいプラグイン...

Nodeはリクエスト追跡にasync_hooksモジュールを使用します

async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...

Windows 10 で MySQL をダウンロードするための詳細なチュートリアル

MySQL のバージョンは、Enterprise Edition と Community Editi...

MySQL sql_mode の変更が有効にならない理由と解決策

目次序文シナリオシミュレーション要約する序文最近、sql_mode の話題については何度も話し合われ...

Alibaba Cloud サーバーの購入とインストール方法

1. サーバーを購入するこの例では、購入したサーバーはAlibaba Cloudです。大学生はAli...

過去の Linux イメージの問題を修正するためのサンプル分析

過去の Linux イメージに関する問題を修正従来の Linux イメージで作成された ECS クラ...