MySQL-Anweisung zum Zusammenführen von zwei Tabellen

Ich bin sicher, dass dies bereits gefragt / beantwortet wurde, aber ich weiß nicht, wie diese Art von Aktion aufgerufen wird, und meine SQL-Kenntnisse sind begrenzt.

Ich suche nach einer einzelnen SQL-Anweisung, um zwei Tabellen zusammenzuführen:

Tabelle USER:

ID   hash
=========
1    abc
2    def
3    ghi

und die USER_FIELD-Tabelle:

ID  user_id key        value
=============================
1   1       firstname  John
2   1       lastname   Doe
3   2       firstname  Justin
4   2       lastname   Case

Jetzt würde ich gerne wissen, wie ich diese Ansicht bekomme:

ID  hash  firstname   lastname
================================
1   abc   John        Doe

Wenn ich also einen zusätzlichen Eintrag in die Tabelle USER_FIELD mit dem Schlüssel "email" hinzufüge, erhalte ich im letzten Ergebnis eine neue Spalte

Ist das überhaupt nur in MySQL möglich oder muss ich das Ergebnis in PHP ändern?

Ist das überhaupt ein gutes DB-Design oder sollte ich es fallen lassen und mit einem anderen (welchem?)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage