Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

willwalker

Busca usando group_concat, subquery e cast

Recommended Posts

Preciso fazer com que esse WHERE:

WHERE
categorias.id IN (CAST((SELECT GROUP_CONCAT(CAST(categorias.id AS CHAR)) AS ids FROM categorias WHERE categorias.nome LIKE '%a%') AS UNSIGNED))

Seja interpretado assim:

WHERE
categorias.id IN (1,2,3)

Ele sempre está pegando somente o primeiro valor, e os outros não. Por exemplo:

 

Faço uma pesquisa aonde eu quero trazer os ids onde o nome tem a letra a, ai ele me retorna os ids 1,3 e 5.

 

Se eu colocar para buscar 1,3,5, ele me traz os resultados certos, mas se faço da maneira acima com cast e subquery, ele somente me traz o valor que contem o id 1. O 3 e 5 não me trás, o que está de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites
voce n precisa de CAST ali, nesse caso, da pra fazer assim
SELECT a.* FROM tabelaA a WHERE a.id IN(SELECT b.a_id FROM TABELA b WHERE condicao)

mesmo que o select dentro do in retorne varias linhas, ele vai ser interpretado como (x,y,z...)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.