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

Jak iterować przez wartości tablicy jsonb PostgreSQL w celu dopasowania w zapytaniu?

Rozwiązałem to, wykonując zasadniczo funkcję „unnest()” podobną do jsonb_array_elements() w mojej zagnieżdżonej tablicy jsonb.

Robiąc to w podzapytaniu, a następnie skanując te wyniki przy użyciu odmiany mojego oryginalnego zapytania, udało mi się osiągnąć pożądany wynik.

Oto, co wymyśliłem.

with dupe as (
select
json_document->>'Name' as name,
identifiers->'RecordID' as record_id
from (
  select *,  
  jsonb_array_elements(json_document->'Identifiers') as identifiers
  from staging
) sub
group by record_id, json_document
order by name
) 

select * from dupe da where (select count(*) from dupe db where 
db.record_id = da.record_id) > 1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń zduplikowane wiersze (nie usuwaj wszystkich duplikatów)

  2. Analiza porównawcza zarządzanych rozwiązań PostgreSQL w chmurze:część druga — Amazon RDS

  3. Co zrobić, gdy py.test zawiesza się po cichu?

  4. Znak nowej linii PostgreSQL

  5. Jak dodać źródło danych PostgreSQL do WildFly 9.0?