Pure MySQL を使用して、列内の値がセミコロンで区切られたテーブルを結合できますか?

Barbara Streisand
リリース: 2024-11-01 10:27:02
オリジナル
824 人が閲覧しました

Can I Join Tables with Semi-colon Separated Values in a Column Using Pure MySQL?

純粋な mysql でこれを解決できますか? (列内の ';' で区切られた値を結合)

質問:

2 つのテーブル、'; を含むリソース列を持つユーザー テーブル t1 があるとします。 '分離されたリソース ID、および ID とデータを含むリソース テーブル t2 がある場合、t1 と t2 を結合して、ユーザーとリソース データを含むテーブルを取得したいとします。

問題:

外部言語を使用して結果を操作することはできず、user_resources テーブルは非正規化されます。

解決策:

1 から 1 までの数値を含む integerseries というテーブルを作成します。ある限界。テーブルを正規化するには、リソース列を配列として扱う COUNT_IN_SET 関数と VALUE_IN_SET 関数を使用します。次に、整数シリーズと結合して、個々のリソース ID を抽出します。

<code class="sql">SELECT user_resource.user, 
       resource.data

FROM user_resource 
     JOIN integerseries AS isequence 
       ON isequence.id <= COUNT_IN_SET(user_resource.resources, ';') 

     JOIN resource 
       ON resource.id = VALUE_IN_SET(user_resource.resources, ';', isequence.id)      
ORDER BY
       user_resource.user,  resource.data</code>
ログイン後にコピー

以上がPure MySQL を使用して、列内の値がセミコロンで区切られたテーブルを結合できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!