Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

select columns into a json from postgres [duplicate]

i have a table employee like this

name     value 
'e1'     'rahul'
'e2'     'priya'
'e3'     'abhijit'

and i need to extract json from the two columns such that the result is like this

{'e1':'rahul','e2':'priya','e3':'abhijit'}

I've tried the following query and the results is as follows

select row_to_json((name,value)) from employee 

O/P

{'f1':'e1','f2':'rahul'}
{'f2':'e1','f2':'priya'}
{'f3':'e1','f2':'abhijit'}

i don't want the f1 and f2 names over there,please advice!

like image 922
Ashish Padakannaya Avatar asked May 05 '26 21:05

Ashish Padakannaya


1 Answers

thanks for the inputs guys but i just found out that i had to upgrade postgresql from 9.3 to 9.4 to get the function json_build_object .it gets the job done with a few changes to the query structure.

select json_agg(json_build_object(name,value)) from employee;

[{'e1':'rahul','e2':'priya','e3':'abhijit'}]
like image 178
Ashish Padakannaya Avatar answered May 08 '26 16:05

Ashish Padakannaya



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!