es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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')
Tags:  ,

Answer

  1. Avatar for 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:

    DELETE FROM [Data_Pro_Encounter_Info]
    WHERE [subject_id] IN
    (SELECT [subject_id]
      FROM [imucsigrp].[dbo].[Data_Pro_Patient_Info]
      WHERE [username] = 'ZGWATA')
    

    Explicación:
    – Reemplaza SELECT * con DELETE 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 clave WHERE
    – 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 de subject_id en el resultado de la subconsulta que recupera todos los IDs de sujetos asociados al nombre de usuario ‘ZGWATA’ de la tabla Data_Pro_Patient_Info.

Comments are closed.