Cita:
Iniciado por gluckselig tengo este query y no se donde esta el error, nesecito la respuesta super rapido, por favor ayuda!!!
UPDATE A set A.naturaleza=B.naturaleza, A.cedula=(SELECT
SUBSTRING_INDEX (SUBSTR (B.rif,3,LENGTH(B.rif)),'-',1)*1),
A.tipo=B.tipo, A.tipo_naturaleza=B.tipo_naturaleza, A.id_rif=B.id_rif,
A.nombre=B.nombre, A.apellido=B.apellido, A.razon_social=B.razon_social,
A.catastro= CONCAT(B.parroquia, "-",B.ud,"-",B.u_b_s,"-",B.manzana), A.direccion=B.direccion,
A.tlf_ofic=B.telefono, A.email=B.email, A.inactivo=B.inactivo, A.capital=B.capital
from juridicos_1 as B inner join contribuyentes as A on B.id_sim=A.id_sim
primero debes revisar que el SELECT para la asignacion del campo cedula no te este devolviendo mas de un valor, pq si lo hace, eso si seria un error. y con respecto al join, no entiendo la necesidad de hacerlo, si lo que deseas es utilizar un tabla para condicionar la actualizacion, tambien lo puedes hacer validando el campo de la tabla de la actualizacion con una condicion combinada con un select de la tabla que no vas a actualizar. me explico:
update set tabla1 .... where tabla1.id <> all (select id from tabla2)(oracle).
por cierto que manejador de bd es?
espero que no sea muy tarde :)