AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Doppelte Datensätze ohne PK löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Datensätze ohne PK löschen

Ein Thema von Jelly · begonnen am 19. Jul 2007 · letzter Beitrag vom 19. Jul 2007
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Doppelte Datensätze ohne PK löschen

  Alt 19. Jul 2007, 23:00
Datenbank: MSSQL • Version: 2000 • Zugriff über: ADO
ich habe hier eine vermurkste DB vorliegen, die nun aber wirklich überhaupt keiner Normalisierungsnorm entspricht. Es gibt noch nicht mal Primary Keys oder sonstige Unique Constraints. Die DB an sich ist eine Kopie aus einem AS400 System und stammt aus den 70er.

Jedenfalls ist das Problem Folgendes:
Ich muss Dubletten ausfindig machen (soweit kein Problem) und eine davon löschen. Im Prinzip auch kein Problem, nur sind die Datensätze nicht eindeutig identifizierbar. Beispiel:

Code:
[b]Name,Funktion[/b]
Jelly,Moderator
Daniel,Chäffe,
Jelly,Moderator
Da SQL mengenorientiert ist, kann ich den DS "Jelly, Moderator" nicht eindeutig identifizieren. Ich kann also entweder nur beide Datensätze löschen mit
delete from tabelle where name='Jellyand Funktion='Moderator' oder eben keinen.

Wie kann ich jetzt vorgehen. Ich seh da keine Lösung
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Doppelte Datensätze ohne PK löschen

  Alt 19. Jul 2007, 23:02
Erzeuge eine Zieltabelle und schiebe die DS dort hinein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Doppelte Datensätze ohne PK löschen

  Alt 19. Jul 2007, 23:04
Du meinst ein "Select into" Konstrukt mit einer Zusatzspalte in der Zieltabelle mit einem PK?
Das könnte gehen...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Doppelte Datensätze ohne PK löschen

  Alt 19. Jul 2007, 23:05
Ja mit select distinct kannst du ja Dupletten ausschließen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Doppelte Datensätze ohne PK löschen

  Alt 19. Jul 2007, 23:13

Distinct vereinfacht die Sache in der Tat... Merci.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz