PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wyodrębnij klucz, wartość z obiektów json w Postgres

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

Funkcja json_each_text() jest funkcją zwracającą zestaw, więc powinieneś używać jej jako źródła wiersza. Dane wyjściowe funkcji są tutaj połączone bocznie do tabeli q , co oznacza, że ​​dla każdego wiersza w tabeli każdy (key, value) sparuj z data kolumna jest połączona tylko z tym wierszem, więc relacja między oryginalnym wierszem a wierszami utworzonymi z json obiekt jest utrzymywany.

Tabela q może być również bardzo skomplikowanym podzapytaniem (lub VALUES klauzula, jak w Twoim pytaniu). W funkcji używana jest odpowiednia kolumna z wyniku oceny tego podzapytania, więc używasz tylko odwołania do aliasu podzapytania i kolumny (aliasu) w podzapytaniu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest właściwy indeks do odpytywania struktur w tablicach w jsonb Postgresa?

  2. Obliczanie rozmiaru typu kolumny w Postgresql

  3. postgresql:uporządkowany wynik

  4. Jak zaimportować dane z CSV do tabeli Postgres za pomocą pgAdmin 3?

  5. Śledzenie wysokiej dostępności PostgreSQL za pomocą funkcji Heartbeat