Mam następujący kod, aby zwracać wiele wartości z pl/python:Jak podzielić typ na wiele kolumn w PostgreSQL?
CREATE TYPE named_value AS (
name text,
value integer
);
CREATE or replace FUNCTION make_pair (name text, value integer)
RETURNS named_value
AS $$
return [ name, value ]
$$ LANGUAGE plpythonu;
select make_pair('egg', 4) as column;
wyjście jest:
column
(egg,4)
Co chcę zrobić, to podzielić na dwa oddzielne wyjścia kolumn. W ten sposób:
column, column2
egg, 4
Jak to zrobić? Googled przez 1 godzinę mnie donikąd. Więc mam nadzieję, że dodam kilka słów kluczowych wyszukiwania w końcu: wielokrotnego zwracania wartości wiele wyników wielu kolumn unnest listy unnest ustawiony
Twój kod działa, ale zrób Naprawdę potrzebuję do tego selekcji? Byłem tak blisko z make_pair ("egg", 4) .name, ale to nie zadziałało. – David
Możesz powiedzieć 'wybierz (make_pair ('egg', 4)). Name ', na przykład. Jeśli chcesz oba komponenty, ale tylko raz, wykonasz funkcję, myślę, że potrzebujesz sub-select. Zaktualizuję odpowiedź. – araqnid
Brak konieczności wykonywania tej funkcji więcej niż jeden raz jest zdecydowanie celem. – David