Como você faz a correspondência de padrões usando cte?
eu ia | IDs de contas | |
---|---|---|
a12 | 456.789.012 | [email protegido] |
b23 | 546.982.123 | [email protegido] |
c45 | 654.982.456 | [email protegido] |
Eu tentei o seguinte:
with cte1 as (
select '''' || '{' || accountids || '}' || '''' as accountids
from table_a
where email = '[email protected]'
)
select id
from table_a
where accountids ^@ ANY (select accountids from cte1);
Eu esperaria que o conjunto de resultados retornasse a12 e c45. Isso é possível?
Parece que você pode querer converter seu
accountids
para uma matriz e usar o&&
operador de sobreposição.Não está claro o que você pretendia com
^@
, ou como você esperava gerar resultados de umaANY
subconsulta. O que você precisa é de uma junção.db<>violino
Você ficaria muito melhor armazenando seus dados corretamente normalizados. Então sua consulta ficaria assim