Alternatively, use this syntax:
SELECT SUM(peak_power) FROM t_mpi_pv WHERE info_id IN ( SELECT mp_info_id FROM t_mp WHERE mp_id = ANY(ARRAY[29800001,29800008,29800015,29800022,29800029]) )
Useful if you pass an array as one related variable or function parameter:
CREATE FUNCTION fn_peak_power (mpids INT[]) AS $$ SELECT SUM(peak_power) FROM t_mpi_pv WHERE info_id IN ( SELECT mp_info_id FROM t_mp WHERE mp_id = ANY($1) ); $$ LANGUAGE 'sql';
source share