i want to pivot/crosstab below table

I tried below query in postgresql but it gives error ERROR: invalid return type DETAIL: Query-specified return tuple has 6 columns but crosstab returns 5
SELECT * FROM crosstab(
'select Key,status,v_text,v_number,v_dob from table
where type = ''First_Name'' or type = ''Last_Name'' or type = ''DOB'' or type = ''Contact'' order by 1',
'select distinct type from table where type = ''First_Name'' or type = ''Last_Name'' or type = ''DOB'' or type = ''Contact'' order by 1')
AS ct( Key int, First_Name text, Last_Name text, DOB date, Contact int);
required output is like below which has all types with values. Is it possible in pgsql

You can do it like below -
select key,
status,
max(case when type = 'First name' then v_text end) As first_name,
max(case when type = 'Last name' then v_text end) As last_name,
max(case when type = 'DOB' then v_date end) As DOB,
max(case when type = 'Contact' then v_number end) As Contact
from mytable
group by key, status;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With