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 タイムスタンプ比較クエリで遭遇する落とし穴と解決策

目次タイムスタンプ比較クエリで遭遇する落とし穴タイムスタンプクエリ範囲の問題タイムスタンプ比較クエリ...

Dockerはコンテナに入るためにnsenterツールを使用する

Dockerコンテナを使用する場合は、nsenterツールを使用する方が便利です。システムにない場合...

Ubuntu 18.04 に Nvidia グラフィック カード ドライバーをインストールするチュートリアル (画像とテキスト付き)

0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...

Angularコンポーネントのライフサイクルの詳しい説明(パート2)

目次1. ビューフック1. ngAfterViewInit および ngAfterViewCheck...

一般的な Linux の問題に対する解決策の概要

1. VMwareでCentos7を接続し、固定IPを設定する1) まず、仮想イメージ名を右クリック...

JavaScript 事前分析、オブジェクトの詳細

目次1. 事前分析1. 変数の事前解析と関数の事前解析1. 変数の事前解析2. 機能事前分析2. 事...

Dockerを使用してSpring Bootプロジェクトをデプロイする手順

目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...

MySQLのパスワードを忘れた場合の対処方法

MySQL パスワードを 2 回忘れてしまいましたか?最初、私はアンインストールして再インストールす...

CSSを使用してAndroidシステムの読み込みアニメーションを実装する

Web には一般的な読み込みアイコンが 2 つあります。1 つは iOS の「菊」、もう 1 つは ...

border-radiusは要素に丸い境界線を追加する方法です

border-radius:10px; /* すべての角は半径 10px で丸められます*/ bor...

HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり...

HTML ページジャンプとパラメータ転送の問題

HTMLページジャンプ: window.open(url, "", "...

MySQL で特殊文字を含むデータベース名を作成する方法の例

序文この記事では、MySQL で特殊文字を使用してデータベース名を作成する方法について説明します。こ...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

Docker実践: Pythonアプリケーションのコンテナ化

1. はじめにコンテナはサンドボックス メカニズムを使用して相互に分離します。コンテナ内にデプロイさ...