Ich habe ein System auf einer relationalen MySQL-Datenbank aufgebaut, die es ermöglicht, Details von "Leads" zu speichern. Darüber hinaus können Personen eigene Spalten erstellen, unter denen Daten gespeichert werden, und beim Hinzufügen neuer Konten können Daten unter ihnen hinzugefügt werden. Die Tabellenstruktur sieht wie folgt aus:Wie können "dynamische" Attribute, die in mehreren Zeilen gespeichert sind, als normale Datensätze abgerufen werden?
FÜHRT - id, E-Mail, User_id
ATTRIBUTES - id, attr_name, User_id
ATTR_VALUES - lead_id, attr_id, Wert, Benutzer-ID
Offensichtlich bezieht sich "user_id" in diesen Tabellen auf eine Tabelle "Benutzer", die nur Personen enthält, die sich beim System anmelden können.
Ich schreibe eine Funktion zur Ausgabe von Lead-Details und zacke gerade die grundlegenden Lead-Details als Abfrage und ziehe dann alle Attributwerte durch, die mit diesem Lead verknüpft sind (Verknüpfung mit der Attributtabelle, um den Namen zu erhalten) dann verbinden Sie die Arrays in PHP. Dies ist ein wenig unordentlich und ich frage mich, ob es eine Möglichkeit gibt, dies in einer SQL-Abfrage zu tun. Ich habe ein wenig über einen sogenannten "Pivot-Tisch" gelesen, aber ich habe Mühe zu verstehen, wie es funktioniert.
Jeder würde Hilfe sehr geschätzt. Vielen Dank!
MySql unterstützt keine Pivot-Befehle. Äh, es ist kostenlos. – McGarnagle
@dbase (Microsoft?) Mann: Nein * "Eh, es ist kostenlos" *, aber * "Eh, es ist eine Datenbank" * (im Gegensatz zu ...). Pivot-Befehle gehören nicht zur Datenbank, sondern zur Präsentationsebene. – TMS
Gute Frage, obwohl der Titel irreführend war - es ist möglich, in einer einzigen Abfrage ganz einfach, nur in der Regel alle Tabellen beitreten - aber das ist nicht das, was Sie wahrscheinlich wollen. Bearbeitete den Titel. – TMS