sql >> Base de Datos >  >> RDS >> Sqlserver

¿Conflicto de clave externa de SQL Server en una declaración de valores múltiples?

Puede convertir esto en una declaración SELECT para encontrar las filas que no coinciden.

Suponiendo que la columna a hace referencia a la tabla other lo siguiente mostrará los valores que no están presentes en la otra tabla:

select *
from (
  values 
   (1, a, b), 
   (2, a, b), 
    ...
   (9999, a, b)
) t(num,a,b)
where not exists (select 1 
                  from other o 
                  where o.id = t.a);

El select .. from ( values ) requiere SQL Server 2012 o más reciente, pero como ha usado esa etiqueta, debería poder usarla.