Em 28 de março de 2014 01:46, Emanuel Araújo <[email protected]> escreveu: > Senhores, > > Identifiquei o seguinte: > > Nesse código: > > > WHERE grupos.s_tipogrupo = (SELECT s_valor > FROM t_parametro_cliente > WHERE s_campo = 'v_utiliza_grupo') ; > > Quando substituo o = por IN na primeira comparação do WHERE, o resultado > aparece. > Deve ser algum problema de comparação das tipagem, é o que suspeito, entre o > que eu mando ou recebo de volta do Oracle. > > Resolvido? Sim, Solucionado? Não.
E se a subquery (segundo SELECT) retornar mais de um registro? Não seria essa a causa do erro? Se a condição estiver certa mas existirem registros duplicados você pode usar programação defensiva com uma função MAX ou MIN. Exemplo: WHERE grupos.s_tipogrupo = (SELECT MAX(s_valor) FROM t_parametro_cliente WHERE s_campo = 'v_utiliza_grupo'); TIAGO J. ADAMI http://www.adamiworks.com @tiadami _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
