Preciso fazer a seguite comparação entre tabelas onde em uma eu tenho por exemplo o valor c04 e na outra eu tenho somente 04, e a consulta tem que me retornar que são iguais. Como eu posso fazer essa comparação? Uso o banco de dados Informix.
Duvida em SQL [Resolvido]
13 Respostas
Se vc quiser fazer diretamente no SQL vai dar um pouco de trabalho e parecer meio “xunxado”. Transforme em string os dois campos e tente dar um like …
Use as funções sql, “LEFT, RIGHT, MID, SUBSTR”…
Pior que eu preciso que seja feito em SQL mesmo. Eu tentei com like nos campos mas não rolou, tipo
Pelo que imagino, você precisaria fazer uma faxina nesses dados eventualmente, não?
Eu vi que o informix tem suporte a função SUBSTRING ai eu tentei fazer o seguinte na SQL:
Mas tambem da erro.
Qual banco de dados esta usando?
Abraços.
Informix da IBM
SELECT T1.coluna1, T2.coluna2
FROM TABELA1 T1, TABELA2 T2
WHERE LCASE(T1.SUBSTRING(T1.coluna1,5)) = LCASE(T2.SUBSTR(T2.coluna2,5))
leorbarbosa, usei o LCASE mas acho que não convem por que os valores são numericos.
Force um cast para String ou varchar (não sei como é no INFORMIX)
Se for sempre com dois digitos:
SELECT * FROM tabela1, tabela2
where tabela1.codigo[2,3] = tabela2.codigo
Tá,
mas no seu primeiro post você tinha colocado um alfanumérico, por isso usei funções string.
De todo modo, a ideia tá aí.
att.
leorbarbosa entendi o que vc quis dizer, mas eu usei o substring para justamente tirar a letra “c” dos dados ai ficariam so numeros. Mas valeu pela ajuda.
pmlm, consegui com sua dica.
Obrigado pela ajuda de todos.