SQL consulta retorna valor que é parametro de outra consulta

Senhores estou me batendo em achar uma solução para o problema, pode ser que seja uma coisa tosca…enfim:

Tenho uma consulta, banco postgres, esta consulta retorna valor do tipo (1,2,3,4,…),
este resultado será parametro para um sub consulta usando campo da tabela in(1,2,3,4,…).
Porem, o campo da segunda consulta é um inteiro e essa sequencai é text.

Não queria tratar esse retorno na aplicação e executar um segunda busca.
O que ja fiz:

Select idTabela2,campo1,campo2 from tabela2 where idTabela2 in (Select campo1 from tabela1 where idTabela1 = 33) ele responde com erro pois o idTabela2 é int e o retrono do subselect é text.

Tentei com InnerJoin também, porem o inner join so aceita valores de comparação absoluto(1=1).

alguem pode me dar uma luz?

está usando mysql ?

tenta:

Select idTabela2,campo1,campo2 from tabela2 where idTabela2 in (Select CAST(campo1 AS UNSIGNED) from tabela1 where idTabela1 = 33)

FONTE: http://dev.mysql.com/doc/refman/4.1/pt/cast-functions.html

[]'s

WRYE,
Obrigado.
To usando postgres estou dando uma estudada. o comando UNSIGNED não é reconhecido no postgres.

Abs

Use TO_NUMBER

http://www.postgresql.org/docs/8.3/static/functions-formatting.html

Bom dia oyama, WRYEL
Obrigado pela ajuda. Mas não teve jeito.

TO_NUMBER ou to_char não deu erto, pois meus valores são variais na quantidade de caracteres.
acabmos criando duas consultas para resolver o problema.

Valeu pela força.

abs