Korzystam z Postgresql 9.3.4. Mam stół z 3 polami:
id name addr
--- ---- ----
1 n1 ad1
2 n2 ad2
...
Muszę przenieść dane do nowej tabeli z polami takimi jak:
id data
--- ----
1 {'name': 'n1', 'addr': 'ad1'}
2 {'name': 'n2', 'addr': 'ad2'}
...
row_to_json
nie jest dla mnie rozwiązaniem, ponieważ SELECT t.id, row_to_json(t) as data FROM (select id, name, addr from myt) t
dodaje również id
do wyniku. Czy istnieje sposób na wybranie potrzebnych pól (nazwa i adres) w polu danych?
postgresql
json
row
AliBZ
źródło
źródło
Odpowiedzi:
W
json_build_object()
Postgres 9.4+ jest lepsza opcja :Ale
row_to_json()
w Postgres 9.3 jest także prostszy i szybszy sposób :db <> skrzypce tutaj
Old SQL Fiddle on Postgres 9.6.
Powiązane odpowiedzi:
Wybierz kolumny w pliku json_agg
Zwraca jako tablicę obiektów JSON w SQL (Postgres)
Zwraca całkowitą liczbę wierszy i wybranych (zagregowanych) danych
źródło
Znalazłem odpowiedź z tego linku :
źródło