Probleme mit FOR Schleife

Fragen und Probleme zu PL/pgSQL.
castorp
Erfahrener Benutzer
Beiträge: 997
Registriert: Sa 27. Jun 2009, 22:24
Kontaktdaten:

Re: Probleme mit FOR Schleife

Beitrag von castorp » Mo 10. Apr 2017, 17:31

Das liegt an der Art wie in der alten Version set-returning function in der SELECT Liste verwendet werden (und unter anderem ein Grund warum man diese Syntax heute eben nicht mehr verwenden sollte).

Du musst die Spalten der Funktion expandieren:

Code: Alles auswählen

SELECT (Wertebestimmung(l.dt::date)).*
FROM generate_series(current_date - 6, current_date, interval '1' day) as l(dt);
Wertebestimmung(l.dt::date) liefert für jede Zeile des Ergebnisses einen anonymen "record" mit drei Elementen in einer einzigen Spalte zurück.

Wenn man aber (Wertebestimmung(l.dt::date)).* verwendet, dann werden die Attribute des record in Spalten "expandiert".
Bei der Syntax mit einem lateral join wird das automatisch gemacht.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast