Daten aus einer Zeile zur Spalte machen und Wert übernehmen

mauki

Neuer Benutzer
Beiträge
1
Moin,

ich habe folgendes Problem, unzwar will ich die Fächer aus der Zeile als Spalte haben und die dazugehörige Zahl/ Note soll beim jeweiligen Fach stehen.
Ich hinterlege mal einen Screenshot, denke es wird schnell klar worauf ich hinaus möchte. So Soll zum Beispiel Wirtschaftsinformatik als Spalte auftauchen, aber die Note soll noch der jeweiligen Matr-Nr. zugewiesen sein. Danke schon mal im Voraus.

MfG

Bild_2022-07-13_163057645.png
 
Werbung:
erstens scheint das SQLLite zu sein und zweites ist das ein vollständig kaputtes Tabellendesign, mit dem man nur eines machen kann: entsorgen.
 
um Dir dennoch einen Lösungsansatz zu zeigen:

Code:
postgres=# select * from mauki ;
 nr |             data              
----+-------------------------------
 47 | Mathe:1,Deutsch:2,Statistik:1
 48 | Mathe:3,Deutsch:1,Statistik:4
(2 rows)

postgres=# with tmp as (select nr, regexp_split_to_table(data,',') from mauki) select nr, regexp_replace(regexp_split_to_table,':.*$','') as fach, regexp_replace(regexp_split_to_table,'^.*:','') as note from tmp;
 nr |   fach    | note 
----+-----------+------
 47 | Mathe     | 1
 47 | Deutsch   | 2
 47 | Statistik | 1
 48 | Mathe     | 3
 48 | Deutsch   | 1
 48 | Statistik | 4
(6 rows)

postgres=#

Das ist allerdings weder MySQL noch SQLLite ...
 
Werbung:
zweites ist das ein vollständig kaputtes Tabellendesign
Ich denke, nicht jede Aufgabenstellung, die hier im Forum bzw. in der Realität auftaucht, hat als Ausgangspunkt ein akurates Tabellendesign. Im Gegenteil, vieles was umgesetzt werden soll, beginnt mit Datenimport, Datenaufbereitung, Migration, ..
Man kann dem AG wohl kaum sagen, da hätte er gleich mal mit einem richtigen Tabellendesign anfangen sollen.

Aber was red ich, Du hast ja eine Lösung geliefert.
 
Zurück
Oben