PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Ekstrak kunci, nilai dari objek json di Postgres

SELECT q.id, d.key, d.value
FROM q
JOIN json_each_text(q.data) d ON true
ORDER BY 1, 2;

Fungsi json_each_text() adalah fungsi pengembalian yang ditetapkan sehingga Anda harus menggunakannya sebagai sumber baris. Output dari fungsi ada di sini digabungkan secara lateral ke tabel q , artinya untuk setiap baris dalam tabel, setiap (key, value) pasangkan dari data kolom bergabung hanya untuk baris itu sehingga hubungan antara baris asli dan baris terbentuk dari json objek dipertahankan.

Tabel q juga bisa menjadi sub-kueri yang sangat rumit (atau VALUES klausa, seperti dalam pertanyaan Anda). Dalam fungsi tersebut, kolom yang sesuai digunakan dari hasil evaluasi sub-query tersebut, jadi Anda hanya menggunakan referensi ke alias dari sub-query dan kolom (alias) di sub-query.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dua pemilik database PostgreSQL yang sama

  2. Kembalikan kumpulan kolom dinamis

  3. Postgres:bilangan bulat di luar jangkauan

  4. PL/Python &postgreSQL:Apa cara terbaik untuk mengembalikan tabel dengan banyak kolom?

  5. String Koneksi PostgreSQL Bersih