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

Postgresql - Array di base e array_agg

Il && operatore è un predicato che restituisce un true o false risultato, non un elenco di valori.

Se stai cercando l'elenco di order_id che esistono per entrambi client_id=1 e client_id=2 , la query sarebbe:

 select order_id from simple_table  where client_id in (1,2)
  group by order_id having count(*)=2;

È equivalente alle intersezioni dei due array se si considera che questi array sono insiemi (nessun duplicato e le posizioni dei valori sono irrilevanti), tranne per il fatto che non è necessario utilizzare gli array, il semplice SQL standard è abbastanza buono.