Saltar al contenido

¿Cómo puedo eliminar usando INNER JOIN con SQL Server?

Solución:

Debe especificar de qué tabla está eliminando. Aquí hay una versión con un alias:

DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
  ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date="2013-05-06"

Simplemente agregue el nombre de la tabla entre DELETE y FROM desde donde desea eliminar registros, porque tenemos que especificar la tabla a eliminar. También elimine el ORDER BY cláusula porque no hay nada que ordenar al eliminar registros.

Entonces, su consulta final debería ser así:

    DELETE WorkRecord2 
      FROM WorkRecord2 
INNER JOIN Employee 
        ON EmployeeRun=EmployeeNo
     WHERE Company = '1' 
       AND Date="2013-05-06";

Es posible que esto le sea útil:

DELETE FROM dbo.WorkRecord2
WHERE EmployeeRun IN (
    SELECT e.EmployeeNo
    FROM dbo.Employee e
    WHERE ...
)

O prueba esto:

DELETE FROM dbo.WorkRecord2
WHERE EXISTS(
    SELECT 1
    FROM dbo.Employee e
    WHERE EmployeeRun = e.EmployeeNo
        AND ....
)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *