Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso entender porque o seguinte não funciona:
SELECT descricao FROM servicos WHERE id IN (SELECT servicos FROM geral WHERE id = '1')
Nesse caso, ele sempre retorna apenas uma linha como resultado, quando deveria retornar duas, a subquery:
SELECT servicos FROM geral WHERE id = '1'
Retorna exatamente: 1,3
Então, a minha idéia é que buscasse a coluna descricao da tabela serviços em que o id fosse igual a 1 e 3, mas não retorna, só retorna o primeiro, ou seja, o id igual a 1, se eu altero no BD e inverto (3,1) ele busca o do id igual a 3 e ignora o igual a 1, se eu jogo direto:
SELECT descricao FROM servicos WHERE id IN (1,3)
Retorna o resultado da forma correta, buscando os dois ids (1 e 3), não estou entendendo o porque disso, inclusive se eu faço duas querys, ou seja, primeiro:
SELECT servicos FROM geral WHERE id = '1'
Ai resgato os dado e uso esses mesmos dados na segunda:
SELECT descricao FROM servicos WHERE id IN ($dados_resgatados_da_primeira)
Também funciona perfeitamente...
Carregando comentários...