O
&&
operador é um predicado que produz um true
ou false
resultado, não uma lista de valores. Se você estiver procurando a lista de
order_id
que existem para client_id=1
e client_id=2
, a consulta seria: select order_id from simple_table where client_id in (1,2)
group by order_id having count(*)=2;
Isso é equivalente às interseções dos dois arrays se você considerar que esses arrays são conjuntos (sem duplicatas e as posições dos valores são irrelevantes), exceto que você não precisa usar arrays, SQL padrão simples é bom o suficiente.