Wybierz dynamiczny zestaw kolumn z tabeli i uzyskaj sumę dla każdego
Czy w Postgres można wykonać następujące czynności:
SELECT column_name FROM information_schema WHERE table_name = 'somereport' AND data_type = 'integer';
SELECT SUM(coulmn_name[0]),SUM(coulmn_name[1]) ,SUM(coulmn_name[3]) FROM somereport;
Innymi słowy, muszę wybrać grupę kolumn z tabeli w zależności od określonych kryteriów, a następnie sumować każdą z tych kolumn w tabeli.
Wiem, że mogę to zrobić w pętli, więc mogę policzyć każdą kolumnę niezależnie, ale oczywiście wymaga to zapytania dla każdej kolumny zwróconej z zapytania schematu informacji. Na przykład:
FOR r IN select column_name from information_schema where report_view_name = 'somereport' and data_type = 'integer';
LOOP
SELECT SUM(r.column_name) FROM somereport;
END