Вы можете определить вторую таблицу и вставить простую SELECT DISTINCT *
. Попробуйте:
Подсказка: я использую объявленные здесь переменные таблиц, но для этого вам понадобятся реальные таблицы.
SET DATEFORMAT DMY;
DECLARE @tbl TABLE(Column1 VARCHAR(100),Column2 INT,Column3 DATE)
INSERT INTO @tbl VALUES
('aaaa',1111,'23.04.2018')
,('bbbb',2222,'24.04.2018')
,('cccc',3333,'25.04.2018')
,('dddd',4444,'26.04.2018')
,('bbbb',4445,'27.04.2018')
,('aaaa',1111,'23.04.2018')
,('aaaa',1234,'23.04.2018');
--define a new table with the same structure
--Make sure, that the column order is absolutely the same as the origin!
DECLARE @tbl2 TABLE(Column1 VARCHAR(100),Column2 INT,Column3 DATE)
INSERT INTO @tbl2
SELECT DISTINCT * FROM @tbl;
--Check the result
SELECT * FROM @tbl2;
В качестве альтернативы вы можете использовать этот синтаксис для создания физической таблицы на лету
SELECT DISTINCT * INTO dbo.NewTable FROM @tbl;
Внимание : Не использовать форматы даты, зависящие от культуры ...