Kreuztabelle mit 2 (oder mehr) Zeilennamen

Ich versuche eine Tabelle mit 2 Zeilennamen zu transponieren.
Postgres-Dokumentation erwähnt diecrosstab() Funktion, die nur 1 Zeilennamen verarbeiten kann, aber ich habe 2 Zeilennamen, wie Vorname und Nachname.

meine intitaltabelle ist:

fn |  ln |  file_type |attribute
--------------------------------
A  |  1  |  cat1     |abc
A  |  2  |  cat1     |gth
A  |  1  |  cat2     |fgh
B  |  1  |  cat2     |gth

und ich möchte, dass meine abschließende Tabelle mit 2 Anfangszeilen und dem transponierten file_type ist

 fn |  ln |  cat1 | cat2
--------------------------------
 A  |   1 |  abc  | fgh
 A  |   2 |  gth  | 
 B  |   1 |       | gth

Ich habe in functools nicht gefunden, was ich brauche ...

Version ist Postgres 9.3

Antworten auf die Frage(2)

Ihre Antwort auf die Frage