Heim >Datenbank >MySQL-Tutorial >Wie kann ich ein MySQL-Entity-Attribute-Value-Schema (EAV) für die tabellarische Datenausgabe umstellen?

Wie kann ich ein MySQL-Entity-Attribute-Value-Schema (EAV) für die tabellarische Datenausgabe umstellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-10 02:34:091000Durchsuche

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

Pivoting MySQL Entity-Attribute-Value Schema

Im Datenbankdesign wird häufig ein Entity-Attribute-Value-Schema (EAV) verwendet Speichern Sie Metadaten für Entitäten mit einer variablen Anzahl benutzerdefinierter Attribute. Dieser Ansatz ermöglicht Flexibilität bei der Definition neuer Attribute, ohne das Datenbankschema zu ändern. Das Abfragen von EAV-Daten in einem Tabellenformat kann jedoch eine Herausforderung sein.

Problem:

Sie verfügen über MySQL-Tabellen, die die Metadaten für Dateien mithilfe eines EAV-Schemas speichern:

  • FileBase: Gemeinsame Metadaten (Name, Autor, erstellt)
  • Attribute: Benutzerdefinierte Attributnamen und -typen
  • Dateiattribute: Attributwerte für Dateien

Sie benötigen um die Daten abzufragen und sie in einem Tabellenformat anzuzeigen, wobei jede Zeile eine Datei darstellt und jedes benutzerdefinierte Attribut sein eigenes hat Spalte.

Lösung:

MySQL bietet die Funktion GROUP_CONCAT(), um mehrere Werte in einer einzigen Zeichenfolge zu verketten. Mit dieser Funktion können Attributwerte für jede Datei zusammengefasst und eine durch Kommas getrennte Liste von Attributen erstellt werden. Hier ist eine Abfrage, um dies zu erreichen:

SELECT
  bt.FileID,

Das obige ist der detaillierte Inhalt vonWie kann ich ein MySQL-Entity-Attribute-Value-Schema (EAV) für die tabellarische Datenausgabe umstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn