i got it :) si quieres sacar unicamente los que no tiene repetidos(para insertarlos puedes usar este query)
Código SQL:
Ver originalCREATE TABLE #temp (
dato1 INT,
dato2 INT,
campo1 VARCHAR(20),
campo2 VARCHAR(20),
campo3 VARCHAR(20)
)
INSERT INTO #temp VALUES (1,1,'a','b','c')
INSERT INTO #temp VALUES (2,1,'a1','b1','c1')
INSERT INTO #temp VALUES (3,1,'a2','b2','c2')
INSERT INTO #temp VALUES (1,1,'a3','b3','c3')
INSERT INTO #temp VALUES (1,1,'a4','b4','c4')
INSERT INTO #temp VALUES (2,1,'a5','b5','c5')
SELECT * FROM #temp WHERE CONVERT(VARCHAR(20),dato1) + '|' + CONVERT(VARCHAR(20),dato2) IN(
SELECT CONVERT(VARCHAR(20),dato1) + '|' + CONVERT(VARCHAR(20),dato2) FROM #temp GROUP BY dato1,dato2 HAVING COUNT(*)=1)
Esto te regresa en este ejemplo:
3,1,'a2','b2','c2'
ahora si quieres saber cuales son los que tiene repetidos:
Código SQL:
Ver originalSELECT * FROM #temp WHERE CONVERT(VARCHAR(20),dato1) + '|' + CONVERT(VARCHAR(20),dato2) IN(
SELECT CONVERT(VARCHAR(20),dato1) + '|' + CONVERT(VARCHAR(20),dato2) FROM #temp GROUP BY dato1,dato2 HAVING COUNT(*)>1)
con este query obtienes los que estan repetidos, ahora ya depende de si quieres que nada mas se inserte un registro de estos o ninguno o cual de ellos vas a insertar o no se si todos los que repiten id tengan los mismos valores en los demas campos.
espero que esto resuelva tu question :)