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配列の組み込みメソッドの詳細な説明

推薦する

Nginx が Apache より優れている理由

Nginx は、わずか数年で Web サーバー市場の大部分を占めるようになりました。周知のとおり、N...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

UbuntuでGRUBの起動時間を変更する

grubの起動時間を変更するためのオンライン検索は基本的に/etc/default/grubを変更す...

tbodyタグの魔法はテーブルコンテンツの表示を高速化します

他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...

Sublime Text - ブラウザのショートカットキーを設定するための推奨方法

コード効果を異なるブラウザで表示することはよくあることなので、異なるショートカットキーを使用して対応...

マップタグパラメータの詳細な紹介と使用例

マップ タグはペアで表示する必要があります。 <map> ....</map>...

WeChatアプレット開発で遭遇したことのない落とし穴のまとめ

目次getApp()ページエントリファイルの先頭に変数を定義しますwx.createSelector...

CSS3 で King of Glory マッチング人員読み込みページを実装する方法

King of Glory をプレイしたことがある人なら、このページの効果をよくご存知でしょう。なぜ...

Webフロントエンド開発エンジニアが習得すべきコアスキル

Web フロントエンド開発に含まれる内容は、主に W3C 標準の構造、動作、パフォーマンスです。では...

MySQL ストアド プロシージャのエラー処理例の詳細な説明

この記事では、例を使用して MySQL ストアド プロシージャのエラー処理について説明します。ご参考...

Linuxは、単一のIPをバインドするためにデュアルネットワークカードを実装するためにボンドを使用します。サンプルコード

ネットワークの高可用性を実現するには、複数のネットワーク カードを仮想ネットワーク カードにバインド...

CSS3 のテキストとフォントの新しい設定

テキストシャドウテキストシャドウ: 水平オフセット 垂直オフセット ぼかし色互換性: IE10+ &...

MySQL Shellの紹介とインストール

目次01 レプリ​​カセットアーキテクチャ02 MySQL Shellの紹介とインストール03 My...

MySQL のあまり知られていないソート方法

序文ORDER BY 字段名升序/降序、このソートステートメントは皆さんご存知だと思いますが、特殊な...