Hallo,
ich habe eine MySQL tabelle mit Benutzern (id, name) und eine separate Tabelle mit Eigenschaften die den Benutzern optional zugeordnet werden können (id, userid, property, value)
Nehemn wir an, meine Tabellen seine so gefüllt:
Benutzer:
| id | name |
|--------------|
| 1 | u1 |
| 2 | u2 |
| 3 | u3 |
Eigenschaften:
| id | userid | property | value |
|-------------------------------------|
| 1 | 1 | 'icq' | '12345' |
| 2 | 1 | 'skype' | 'dummy' |
| 3 | 1 | 'msn' | 'u@msn.de' |
| 4 | 2 | 'icq' | '98765' |
| 5 | 2 | 'skype' | 'bob' |
Dann hätte ich gerne mit einem Query eine Ausgabe wie folgt:
| id | name | icq | skype | msn |
--------------------------------------------------
| 1 | u1 | '12345' | 'dummy' | 'u@msn.de' |
| 2 | u2 | '98765' | 'bob' | NULL |
| 3 | u3 | NULL | NULL | NULL |
Leider weiß ich nicht, wie ich eine derartige Verknüpfung der Tabellen in einem bekomme. Ist das überhaupt möglich?
Ziel ist es, jederzeit Eigenschaften für die User hinzufügen zu können und innerhalb des Queries dann auch nach diesen sortieren zu können.
Das Query darf die Namen der Spalten enthalten - diese müssen nicht wirklich dynamisch entstehen. Ich kann das Query schon anhand der möglichen Eigenschaftennamen dynamisch zusammensetzen.
Bin für jeden Denkanstoß dankbar ;)