Como igualar el texto de una columna en otra

Hola, podrán ayudarme con esto por favor?


Necesito igualar el contenido de una columna, en otra columna, pero de otra tabla.


la tabla "desde_ap" que tiene una columna "pointame" con este texto:
SUR_3L_GOD____V Tensión Linea 132kV- ----> tiene mas de 15 caracteres


la tabla "desde_collect" tiene una columna "tag" con este texto:
SUR_3L_GOD____V ---> tiene 15 caracteres, ESTO ES LO QUE ME SIRVE


hasta ahí no hay problemas, lo hago con substr('pointame',1,15) y me devuelve los primeros 15 caracteres, perfecto.


pero hay otros registros de la tabla "desde_ap" que no tiene el mismo formato, por ej:
ALB_24_AL_COR LIBRE


cuando hago el substr('pointname', 1,15) me queda:
ALB_24_AL_COR L


y necesito que quede esto:
ALB_24_AL_COR

tendrán alguna idea de como emparejarlo!, seguro con un procedure o función.


Este es el query:


select
distinct a.pointnumber,
a.tag,
b.pointname,
a.type,
b.pointnumber
from desde_collect a, desde_ap b
where substr(a.tag, 1,15) = substr(b.pointname,1,15)
group by a.pointnumber, a.tag, b.pointname, a.type, b.pointnumber
order by a.tag, b.pointname
asc;

Muchas gracias!

Respuesta
1

al substr le aplicaría el length del otro valor:

select distinct a.pointnumber, a.tag, b.pointname, a.type, b.pointnumber

from desde_collect a, desde_ap b

where

substr(a.tag, 1,15) = substr(b.pointname,1,length(substr(a.tag, 1,15)))

group by a.pointnumber, a.tag, b.pointname, a.type, b.pointnumber

order by a.tag, b.pointname asc;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas