# Kreuztabelle konnte nicht verwendet werden

**URL:** https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979
**Category:** SQL
**Created:** [19. Juni 2020 um 09:44 UTC](https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979 "2020-06-19T09:44:32Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![skematografi](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/s/df788c/32.png) [@skematografi](https://www.pg-forum.de/u/skematografi)
#### Post date: [19. Juni 2020 um 09:44 UTC](https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979/1 "2020-06-19T09:44:32Z")

</div>

```
select * from crosstab
('select id_golongan_baru, extract(year from periode) as tahun , count(id_golongan_baru) as total, ringkasan
from t_golongan
where status_usulan = Proses and proses_by <> null
group by id_golongan_baru, extract(year from periode)') as ringkasan (id int, tahun int, total int);

```

Bitte helfen Sie mir, eine Lösung zu finden, warum ich diese Abfrage nicht verwendet habe. Ich habe die Meldung  
ERROR: function crosstab(unknown) does not exist.

---

<div class="post-metadata">

### Author: ![akretschmer](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@akretschmer](https://www.pg-forum.de/u/akretschmer)
#### Post date: [19. Juni 2020 um 09:51 UTC](https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979/2 "2020-06-19T09:51:24Z")

</div>

hast Du die Extension installiert? Mir scheint das auch syntaktisch falsch, die letzte Spalte der Select-Liste ist nicht im group by. Und: Ein Vergleich via \<\> NULL ergibt NULL, Du suchst is not.

---

<div class="post-metadata">

### Author: ![castorp](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/c/e99b99/32.png) [@castorp](https://www.pg-forum.de/u/castorp)
#### Post date: [19. Juni 2020 um 09:51 UTC](https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979/3 "2020-06-19T09:51:45Z")

</div>

Offensichtlich wurde die [extension tablefunc](https://www.postgresql.org/docs/current/tablefunc.html) nicht [installiert](https://www.postgresql.org/docs/current/sql-createextension.html). Aber im allgemeinen ist die crosstab Funktion eh nicht wirklich hilfreich, weil man auch da alle Spalten der crosstab Tabelle _vorher_ wissen und angeben muss. Da kann man eigentlich auch gleich auf eine “normale” gefilterte Aggregation zurückgreifen.

Aber selbst wenn die Funktion existiert, wird es nicht funktionieren, da die eigentliche Abfrage einige Fehler hat. `<> null` funktioniert nicht. Das muss `is not null` sein. Ist “Proses” eine Spalte der Tabelle oder ein Wert der verglichen werden soll. Wenn es ein Wert ist, muss er in Anführungszeichen stehen, `status_usulan = 'Proses'`.

Also sowas:

```sql
select id_golongan_baru, extract(year from periode) as tahun, 
       count(id_golongan_baru) as total, 
       ringkasan
from t_golongan
where status_usulan = 'Proses' 
  and proses_by is not null
group by id_golongan_baru, extract(year from periode)

```

Das wird aber _immer_ noch nicht funktionieren. Die Spalte `ringkasan` muss entweder mit in die GROUP BY Bedingung aufgenommen werden, oder aber sie muss Teil einer Aggregation sein (z.B. `min(ringkasan)`).

Aber ohne zu wissen, wie genau das Ergebnis aussehen soll, kann man das nicht wirklich beantworten.

---

<div class="post-metadata">

### Author: ![skematografi](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/s/df788c/32.png) [@skematografi](https://www.pg-forum.de/u/skematografi)
#### Post date: [19. Juni 2020 um 10:54 UTC](https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979/4 "2020-06-19T10:54:48Z")

</div>

Vielen Dank für die Informationen, die ich zuerst versuchen werde, die Erweiterung zu installieren, und tatsächlich scheint es, als hätte ich `ringkasan` falsch geschrieben, sie sollte nicht vorhanden sein.

---

<div class="post-metadata">

### Author: ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)
#### Post date: [21. Februar 2021 um 07:08 UTC](https://www.pg-forum.de/t/kreuztabelle-konnte-nicht-verwendet-werden/11979/5 "2021-02-21T07:08:57Z")

</div>


