Kategorisierte Auflistung erzeugen

Hallo zusammen,

kann mir jemand bei der Erstellung folgender Art Liste helfen?
Ich möchte gerne eine Tabelle importieren, die mir eine Liste, sortiert nach Kategorien wiedergibt.

Am beispiel von Auto-Herstellern:
Mercedes___BMW …
A___________1er
B___________2er
C___________3er
usw.

Die Hersteller als erste Ebene (das Ganze soll für ein Auswahlfeld dienen) ohne Wiederholungen auflisten ist kein Problem:

Select DISTINCT Hersteller from Datenbank

Aber wie bekomme ich die jeweiligen Typen passend zu den Herstellern aufgelistet?

Vielen Dank schon mal.

Grüße
Andreas

es gibt es contrib-Modul tablefunctions (oder so ähnlich), das exthält eine crosstab-Funktion. Du kannst auch in der FAQ hier schauen, ich schrieb vor Jahren mal, wie man Zeilen zu Spalten wandelt.

PS.: eine exaktere Beschreibung wäre sinnvoll. Was hast Du jetzt als Tabelle, wie ist diese aufgebaut?

Erst mal danke für die Antwort.
Die Tabelle sieht aktuell etwa so aus:
Spalte 1: Hersteller (z.B. BMW)
Spalte 2: Typ (z.B. 2er)
Spalte 3: Ausstattung

Spalte 1 und 2 hole ich aus einer gemeinsamen Tabelle, sagen wir Fahrzeuge.
Spalte 3 berindet sich in einer separaten Tabelle, sagen wir Fahrzeugdaten.
Beide Tabellen haben jeweils eine id, über die ich die Tabellen zusammen joine.

Kurz noch zum Hintergrund:
Ich möchte Dropdown-Listen in Excel einrichten, die je nach Wahl die weiteren Listen einschränkt.
Also wenn man einen Hersteller wählt sollen in der zweiten Liste die passenden Typen gewählten werden können usw.

Die Anzahl der Autohersteller ist ja keine Konstante, das wird schwer sowas dann dynamisch zu erzeugen, weil die Anzahl der Spalten vorher nicht feststeht. Was einfacher geht ist sowas:

test=*# select * from auto;
 hersteller |  marke  | ausstattung 
------------+---------+-------------
 audi       | a3      | räder
 audi       | a4      | lenkrad
 audi       | quattro | dach
 vw         | jetta   | x
 vw         | golf    | y
 opel       | astra   | z
(6 Zeilen)

test=*# 
test=*# select hersteller, string_agg(marke,',') from auto group by hersteller;
 hersteller |  string_agg   
------------+---------------
 vw         | jetta,golf
 audi       | a3,a4,quattro
 opel       | astra
(3 Zeilen)

Wäre das eine Alternative?

Ja genau das mit den Spalten ist mein Problem.

Im Grunde ist die Tabelle, die du gepostet hat natürlich genau das was ich brauche.
Ich kann nur leider die Dropdownlisten nicht damit erstellen.
Von daher werde ich statt dessen die drei Attribute zu einem zusammenfüen.
Dann komme ich mit einem Dropdownfeld aus, welche halt enstprechend länger ist…

Trotrzdem danke.