una tabla nombre modificar longitud eliminar datos como comando columna campo cambiar agregar sql sql-server-2008-r2

tabla - modificar base de datos sql



Declaración de existencia de múltiples columnas (2)

Su mejor opción es usar una instrucción de inserción con una subconsulta. Algo como esto:

Insertar SQL en w / Subquery - Comprobar si no existe

Editar: si todavía estás atascado, prueba esto--

INSERT INTO #T (Name, Unit, Id) SELECT Name, Unit, Id FROM #T1 WHERE NOT EXISTS (SELECT Name, Unit, Id FROM #T WHERE #T.Name = #T1.Name AND #T.Unit = #T1.Unit AND #T.Id = #T1.Id)

Estoy tratando de insertar datos en una tabla desde otra donde los datos aún no existen

La tabla en la que estoy insertando los datos en

CREATE TABLE #T(Name VARCHAR(10),Unit INT, Id INT) INSERT INTO #T VALUES(''AAA'',10,100),(''AAB'',11,102),(''AAC'',12,130)

La tabla de la que estoy seleccionando los datos

CREATE TABLE #T1(Name VARCHAR(10),TypeId INT,Unit INT, Id INT) INSERT INTO #T1 VALUES(''AAA'',3,10,100),(''AAA'',3,10,106)

En este caso, quiero seleccionar (''AAA'',3,10,106) desde # T1 porque la combinación AAA, 106 no existe en #T

Básicamente, lo que quiero es llenar una combinación única de Nombre y Id.

Intenté a continuación, lo cual no parece funcionar

SELECT * FROM #T1 WHERE NOT EXISTS(SELECT * FROM #T)


Tienes que correlacionar de alguna manera las dos tablas:

SELECT * FROM #T1 WHERE NOT EXISTS(SELECT * FROM #T WHERE #T1.Name = #T.Name AND #T1.ID = #T.ID)

La consulta anterior básicamente dice: consígueme esos registros de la tabla #T1 que no tienen un registro relacionado en #T tienen los mismos valores de Name e ID .