sql >> Databáze >  >> RDS >> PostgreSQL

Dotaz na prvek pole ve sloupci JSON

Ano, to je možné:

SELECT *
FROM   tbl t, json_array_elements(t.json_col->'emails') AS elem
WHERE  elem->>'id' = 123;

tbl jako název vaší tabulky json_col což je název sloupce JSON.

Více podrobností v této související odpovědi:

  • Jak mohu zadat dotaz pomocí polí v novém datovém typu PostgreSQL JSON?

Více o implicitním CROSS JOIN LATERAL v posledním odstavci této související odpovědi:

  • PostgreSQL unnest() s číslem prvku

Index pro podporu tohoto typu dotazu:

  • Index pro nalezení prvku v poli JSON


  1. Přidejte souhrnný řádek se součty

  2. Jak generovat příkazy vložení z textových souborů pro tabulku SQL Server v SQL Server - SQL Server / Výukový program TSQL, část 106

  3. Přehled nástrojů databázových diagramů dostupných pro PostgreSQL

  4. Jak zkontrolovat velikost databáze MySQL v Linuxu