Saya menjalankan postgresql 9.3.4. Saya punya tabel dengan 3 bidang:
id name addr
--- ---- ----
1 n1 ad1
2 n2 ad2
...
Saya perlu memindahkan data ke tabel baru dengan bidang seperti:
id data
--- ----
1 {'name': 'n1', 'addr': 'ad1'}
2 {'name': 'n2', 'addr': 'ad2'}
...
row_to_json
bukan solusi bagi saya karena SELECT t.id, row_to_json(t) as data FROM (select id, name, addr from myt) t
menambah id
hasil juga. Apakah ada cara untuk memilih bidang yang saya butuhkan (nama & addr) di bidang data saya?
postgresql
json
row
AliBZ
sumber
sumber
Jawaban:
Ada opsi yang lebih baik
json_build_object()
di Postgres 9.4+ :Tetapi ada juga cara yang lebih sederhana dan lebih cepat
row_to_json()
dalam Postgres 9.3 :db <> biola di sini
Old SQL Fiddle di Postgres 9.6.
Jawaban terkait:
Pilih kolom di dalam json_agg
Kembali sebagai larik objek JSON dalam SQL (Postgres)
Kembalikan total jumlah baris dan data terpilih (teragregasi)
sumber
Saya menemukan jawabannya dari tautan ini :
sumber