当一行连接到另一行时如何删除重复行 table
How to remove duplicate rows when one row is connected to other table
我需要删除 table 中出现的重复项,但我不知道该怎么做。
其中一个副本通过 ID 链接到另一个 table。我想留下这条记录并删除所有其他具有相同值的记录。
主要table:ZasobCRM
第二个table:ZasobCRM_Raw
数据按时间阅读器发送到 table:ZasobCRM_Raw。然后,根据同一天的两个条目,为同一员工在 table 中创建一个条目:ZasobCRM。
一个有效的例子:
select * from ZasobCRM_Raw where ZasobCRM_ID = 20490
select * from ZasobCRM where ID = 20490
结果:
ID DataIMPORT DataUTWORZENIA string_1 string_2 string_3 string_4 Status ZasobCRM_ID Exception
45883 2019-10-01 17:08:18.000 2019-08-01 05:57:54.000 0025 6531487 010819055634 0 WCZYTANE 20490
45893 2019-10-01 17:08:18.000 2019-08-01 06:57:55.000 0025 6531487 010819065321 0 WCZYTANE 20490
ID Zad_Guid Operator_ID Rozpoczecie Zakonczenie Nazwa
20490 c2db3bf6-6156-4dba-b802-b4064f99d7ca 2181 2019-08-01 05:56:34.000 2019-08-01 06:53:21.000 Arkadiusz Kowalczyk
无效示例(重复):
select * from ZasobCRM_Raw where string_1 = '0044' and string_3 like '%29101905%' order by string_3
select * from ZasobCRM where Rozpoczecie = '2019-10-29 05:55:48.000' order by ID
结果:
ID DataIMPORT DataUTWORZENIA string_1 string_2 string_3 string_4 Status ZasobCRM_ID Exception
58020 2019-11-07 09:22:31.000 2019-10-29 05:56:38.000 0044 6531592 291019055548 0 WCZYTANE 25143
ID Zad_Guid Operator_ID Rozpoczecie Zakonczenie Nazwa
24596 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24610 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24627 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24641 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24658 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24672 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24694 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24708 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24725 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24740 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24757 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24771 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24788 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24802 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24819 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24833 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24850 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24864 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24881 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24895 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24912 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24926 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24943 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24957 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24974 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24988 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25005 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25019 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25036 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25050 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25067 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25081 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25098 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25112 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25129 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25143 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
在最后一个例子中,我没有给出 table 中的第二行: ZasobCRM_Raw 因为这无关紧要。
从最后一个例子来看,删除后,我应该只有 ID 为:25143
的行
我能够通过查询找到这些重复项:
SELECT
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa, COUNT(*)
FROM
ZasobCRM as ZCRM
GROUP BY
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa
HAVING
COUNT(*) > 1
我的查询没有显示这些重复行中的哪些与另一个相关联 table。
我不知道如何根据它删除它们。
编辑:
delete from ZasobCRM
WHERE Zad_Guid IN (SELECT
Zad_Guid
FROM
ZasobCRM as ZCRM
GROUP BY
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa
HAVING
COUNT(*) > 1)
and
(select count(*) from ZasobCRM_Raw as ZRaw where ZRaw.ZasobCRM_ID = ZasobCRM.ID) = 0
成功了!
您可以简单地在删除命令中创建一个子查询。
DELETE
FROM <tablename>
WHERE Zad_Guid IN (SELECT
Zad_Guid
FROM
ZasobCRM as ZCRM
GROUP BY
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa
HAVING
COUNT(*) > 1)
Note: Please make sure you take a backcup before executing the Delete command.
我需要删除 table 中出现的重复项,但我不知道该怎么做。
其中一个副本通过 ID 链接到另一个 table。我想留下这条记录并删除所有其他具有相同值的记录。
主要table:ZasobCRM 第二个table:ZasobCRM_Raw
数据按时间阅读器发送到 table:ZasobCRM_Raw。然后,根据同一天的两个条目,为同一员工在 table 中创建一个条目:ZasobCRM。
一个有效的例子:
select * from ZasobCRM_Raw where ZasobCRM_ID = 20490
select * from ZasobCRM where ID = 20490
结果:
ID DataIMPORT DataUTWORZENIA string_1 string_2 string_3 string_4 Status ZasobCRM_ID Exception
45883 2019-10-01 17:08:18.000 2019-08-01 05:57:54.000 0025 6531487 010819055634 0 WCZYTANE 20490
45893 2019-10-01 17:08:18.000 2019-08-01 06:57:55.000 0025 6531487 010819065321 0 WCZYTANE 20490
ID Zad_Guid Operator_ID Rozpoczecie Zakonczenie Nazwa
20490 c2db3bf6-6156-4dba-b802-b4064f99d7ca 2181 2019-08-01 05:56:34.000 2019-08-01 06:53:21.000 Arkadiusz Kowalczyk
无效示例(重复):
select * from ZasobCRM_Raw where string_1 = '0044' and string_3 like '%29101905%' order by string_3
select * from ZasobCRM where Rozpoczecie = '2019-10-29 05:55:48.000' order by ID
结果:
ID DataIMPORT DataUTWORZENIA string_1 string_2 string_3 string_4 Status ZasobCRM_ID Exception
58020 2019-11-07 09:22:31.000 2019-10-29 05:56:38.000 0044 6531592 291019055548 0 WCZYTANE 25143
ID Zad_Guid Operator_ID Rozpoczecie Zakonczenie Nazwa
24596 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24610 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24627 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24641 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24658 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24672 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24694 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24708 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24725 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24740 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24757 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24771 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24788 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24802 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24819 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24833 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24850 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24864 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24881 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24895 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24912 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24926 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24943 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24957 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24974 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
24988 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25005 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25019 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25036 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25050 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25067 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25081 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25098 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25112 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25129 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
25143 0163c7af-16ef-4289-8a6c-e4d47c3e8dbe 2199 2019-10-29 05:55:48.000 2019-10-29 11:45:16.000 Ewa Domin
在最后一个例子中,我没有给出 table 中的第二行: ZasobCRM_Raw 因为这无关紧要。 从最后一个例子来看,删除后,我应该只有 ID 为:25143
的行我能够通过查询找到这些重复项:
SELECT
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa, COUNT(*)
FROM
ZasobCRM as ZCRM
GROUP BY
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa
HAVING
COUNT(*) > 1
我的查询没有显示这些重复行中的哪些与另一个相关联 table。
我不知道如何根据它删除它们。
编辑:
delete from ZasobCRM
WHERE Zad_Guid IN (SELECT
Zad_Guid
FROM
ZasobCRM as ZCRM
GROUP BY
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa
HAVING
COUNT(*) > 1)
and
(select count(*) from ZasobCRM_Raw as ZRaw where ZRaw.ZasobCRM_ID = ZasobCRM.ID) = 0
成功了!
您可以简单地在删除命令中创建一个子查询。
DELETE
FROM <tablename>
WHERE Zad_Guid IN (SELECT
Zad_Guid
FROM
ZasobCRM as ZCRM
GROUP BY
Zad_Guid, Operator_ID, Rozpoczecie, Zakonczenie, Nazwa
HAVING
COUNT(*) > 1)
Note: Please make sure you take a backcup before executing the Delete command.