ホームページ >データベース >mysql チュートリアル >表形式のデータ出力のために MySQL エンティティ属性値 (EAV) スキーマをピボットするにはどうすればよいですか?

表形式のデータ出力のために MySQL エンティティ属性値 (EAV) スキーマをピボットするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-10 02:34:091004ブラウズ

How Can I Pivot a MySQL Entity-Attribute-Value (EAV) Schema for Tabular Data Output?

MySQL エンティティ属性値スキーマのピボット

データベース設計では、エンティティ属性値スキーマ (EAV) が一般的に使用されます。可変数のカスタム属性を持つエンティティのメタデータを保存します。このアプローチにより、データベース スキーマを変更せずに新しい属性を柔軟に定義できます。ただし、表形式で EAV データをクエリするのは難しい場合があります。

問題:

EAV スキーマを使用してファイルのメタデータを保存する MySQL テーブルがあります:

  • FileBase: 共通メタデータ (名前、作成者、作成済み)
  • 属性: カスタム属性の名前とタイプ
  • FileAttributes: ファイルの属性値

が必要ですデータをクエリして表形式で表示します。各行はファイルを表し、各カスタム属性にはそのファイルが表されます。

解決策:

MySQL には、複数の値を 1 つの文字列に連結する GROUP_CONCAT() 関数が用意されています。この関数を使用すると、各ファイルの属性値を集計し、属性のカンマ区切りリストを作成できます。これを実現するクエリは次のとおりです:

SELECT
  bt.FileID,

以上が表形式のデータ出力のために MySQL エンティティ属性値 (EAV) スキーマをピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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