EuroCent
Klappstuhl 2.0
Hallo zusammen,
mit einer DB Abfrage ermittele Ich folgende Duplikate:
Mit der Abfrage bekomme Ich ca. 140.000 Einträge.
Mit der Abfrage bekomme Ich ca. 69.000 Einträge.
Zum Beispiel hat TBID (104) und der SW_NAME (TEST2) zur TBID (104) insgesamt: 68.608 Einträge
Nun möchte Ich folgendes Erreichen:
Wenn bei TBID bereits ein SW_NAME mehrfach vorhanden ist, soll Er diese solange Löschen, bis für das TBID nur noch ein Eintrag vorhanden bleibt.
Allerdings scheitere Ich schon beim weiteren Vorgehen, da Ich nicht weiß wie Ich wo was ansetzen soll
mit einer DB Abfrage ermittele Ich folgende Duplikate:
Mit der Abfrage bekomme Ich ca. 140.000 Einträge.
SQL:
SELECT
swt.tb_id as TBID,
swt.sw_id as SWID_1,
sw.sw_id as SWID_2,
sw.sw_bezeichnung as SW_Name
FROM
[sw_to_tb] swt
INNER JOIN schlagwort sw ON(sw.sw_id = swt.sw_id)
WHERE
--tb_id = 104 AND
sw.sw_id NOT IN(
SELECT MAX(swx.sw_id) as Einmal FROM schlagwort swx
GROUP BY swx.sw_bezeichnung
HAVING COUNT(*) = 1
)
GROUP BY sw.sw_bezeichnung, swt.tb_id, swt.sw_id, sw.sw_id
ORDER BY TBID
Mit der Abfrage bekomme Ich ca. 69.000 Einträge.
SQL:
SELECT
swt.tb_id as TBID,
swt.sw_id as SWID_1,
sw.sw_id as SWID_2,
sw.sw_bezeichnung as SW_Name
FROM
[sw_to_tb] swt
INNER JOIN schlagwort sw ON(sw.sw_id = swt.sw_id)
WHERE
tb_id = 104 AND
sw.sw_id NOT IN(
SELECT MAX(swx.sw_id) as Einmal FROM schlagwort swx
GROUP BY swx.sw_bezeichnung
HAVING COUNT(*) = 1
)
AND sw.sw_bezeichnung LIKE '%TEST2%'
GROUP BY sw.sw_bezeichnung, swt.tb_id, swt.sw_id, sw.sw_id
ORDER BY TBID
Nun möchte Ich folgendes Erreichen:
Wenn bei TBID bereits ein SW_NAME mehrfach vorhanden ist, soll Er diese solange Löschen, bis für das TBID nur noch ein Eintrag vorhanden bleibt.
Allerdings scheitere Ich schon beim weiteren Vorgehen, da Ich nicht weiß wie Ich wo was ansetzen soll
