sql >> Database teknologi >  >> RDS >> PostgreSQL

Oracle Cast og MULTISET tilgængelige i POSTGRES

Desværre understøtter PostgreSQL ikke rigtig SQL-standarden MULTISET operator eller indlejrede sæt generelt. Du kan oprette en ARRAY af ROW typer som denne:

select array[row(1, 2), row(3, 4)]

Og du kan endda fjerne ovenstående array

select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)

Så hvis en ARRAY af ROW er acceptabelt for dig, kan du skrive noget som dette:

select array_agg(row(a, b))
from (
  select ...
) t(a, b)

Hvis du har din egen OBJECT skriv PostgreSQL, kan du caste den anonyme ROW til din type:

select array_agg(row(a, b)::your_type)
from (
  select ...
) t(a, b)



  1. Forespørg på en tabels udenlandske nøglerelationer

  2. Hvordan giver man Trigger-genereret værdi til Hibernate ValueObject?

  3. Hvordan afkorter jeg tabeller korrekt?

  4. mysql falske vælg