Estoy ejecutando postgresql 9.3.4. Tengo una tabla con 3 campos:
id name addr
--- ---- ----
1 n1 ad1
2 n2 ad2
...
Necesito mover los datos a una nueva tabla con campos como:
id data
--- ----
1 {'name': 'n1', 'addr': 'ad1'}
2 {'name': 'n2', 'addr': 'ad2'}
...
row_to_json
no es la solución para mí, ya que también se SELECT t.id, row_to_json(t) as data FROM (select id, name, addr from myt) t
suma id
al resultado. ¿Hay alguna manera de elegir los campos que necesito (nombre y dirección) en mi campo de datos?
postgresql
json
row
AliBZ
fuente
fuente
Respuestas:
Hay una mejor opción con
json_build_object()
Postgres 9.4+ :Pero también hay una manera más simple y rápida con
row_to_json()
Postgres 9.3 :db <> fiddle here
Old SQL Fiddle en Postgres 9.6.
Respuestas relacionadas:
Seleccionar columnas dentro de json_agg
Regresar como una matriz de objetos JSON en SQL (Postgres)
Devuelve el número total de filas y datos seleccionados (agregados)
fuente
Encontré la respuesta de este enlace :
fuente