none
CONSULTA ACTUALIZACION SQL RRS feed

  • Pregunta

  • Tabla Empleados

    Num.Empleado       Departamento        

           10                     Dept. Ciencias

           11                     Dept. Matematicas

           12                     Dept. Ciencias

    Tabla Empleado

    Num_Empleado     Departamento

           10                         0

           11                         0

           12                         0

    Tabla   Dept_Empleado

    Num.Dept            Descripcion

         1                    Dept. Ciencias

         2                    Dept. Matematicas

    Quiero Actualizar la tabla empleado que en vez de la descripcion tenga el Num.Dept de la Tabla Dept_Empleado

    tomando en consideracion el nombre la descripcion que ya tiene en la tabla empleados, la actualizacion entonces deberia quedar de la siguiente manera

    Tabla Empleado

    Num_Empleado     Departamento

           10                         1           

           11                         2

           12                         1

    martes, 16 de febrero de 2021 14:53

Respuestas

  • Que hay Efrain Diaz.

    Haciendo pruebas con tus ejemplos hice lo siguiente:

    Cree las 3 tablas de tus ejemplos:

    CREATE TABLE EMPLEADOS(
    NumEmpleado INT,
    Departamento VARCHAR(40))
    
    CREATE TABLE EMPLEADO(
    NumEmpleado INT,
    Departamento INT)
    
    CREATE TABLE Dept_Empleado(
    NumDept INT,
    Descripcion VARCHAR(40))

    Inserté los datos:

    INSERT INTO EMPLEADOS (NumEmpleado,Departamento)
    VALUES
    (10, 'Dept. Ciencias'),
    (11, 'Dept. Matematicas'),
    (12, 'Dept. Ciencias')
    
    INSERT INTO EMPLEADO (NumEmpleado,Departamento)
    VALUES
    (10, 0),
    (11, 0),
    (12, 0)
    
    INSERT INTO Dept_Empleado (NumDept,Descripcion)
    VALUES
    (1,'Dept. Ciencias'),
    (2,'Dept. Matematicas')

    Y lo que hice fue lo siguiente:

    UPDATE d
    SET
    	d.Departamento=d2.NumDept
    	FROM
    		EMPLEADO d
    		INNER JOIN EMPLEADOS d1 ON (d.NumEmpleado=d1.NumEmpleado)
    		INNER JOIN Dept_Empleado d2 ON (d1.Departamento=d2.Descripcion)

    Y con eso el resultado me lo da de esta forma:

    Espero te sirva y sea lo que necesitas.

    Saludos


    • Editado Alejandro 0991 martes, 16 de febrero de 2021 15:33
    • Marcado como respuesta Efrain Diaz miércoles, 17 de febrero de 2021 12:53
    martes, 16 de febrero de 2021 15:33