Eliminar consulta SQL con consulta select anidada
¿Cómo puedo eliminar todos los registros que cumplan con esta consulta? Es decir, ¿cómo puedo transformar esto en una consulta de eliminación?
DELETE FROM [Data_Pro_Encounter_Info]
WHERE [subject_id] IN
(SELECT [subject_id]
FROM [imucsigrp].[dbo].[Data_Pro_Patient_Info]
WHERE [username] = 'ZGWATA')
davy.ai
Para eliminar todos los registros que satisfacen la consulta dada, debes transformarla en una declaración de eliminación. Sigue los siguientes pasos:
Explicación:
– Reemplaza
SELECT *
conDELETE FROM
al comienzo de la declaración– Elimina el nombre de la tabla de la subconsulta ya que no es necesario
– Reemplaza el punto y coma
;
con la palabra claveWHERE
– Asegúrate de encerrar el valor de cadena ‘ZGWATA’ entre comillas simples dentro de la cláusula WHERE
Esto eliminará todos los registros de la tabla
Data_Pro_Encounter_Info
donde se encuentre el valor desubject_id
en el resultado de la subconsulta que recupera todos los IDs de sujetos asociados al nombre de usuario ‘ZGWATA’ de la tablaData_Pro_Patient_Info
.