Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Datenbanken

GELÖST

SQL-Abfrage ändern bzw. umformulieren

Mitglied: JosefSepp

JosefSepp (Level 1) - Jetzt verbinden

25.08.2009, aktualisiert 16:41 Uhr, 5253 Aufrufe, 4 Kommentare

Hallo zusammen,

wir haben in unserer Firma zwei voneinander getrennte Kundendatenbanken in eine umgewandelt. Nun haben wir eine gewisse Anzahl von Dubletten in dieser Datenbank und versuchen nun diese herauszufiltern. In der einen Datenbank beginnen die Kundennummern mit einer 17, in der anderen Datenbank beginnen die Kundennummern mit einer 19. Nachfolgend meine SQL-Abfrage:

select count (*) as doppelt, name1, plz, strasse

from kunden


where (kundnr LIKE '17%'
OR kundnr LIKE '19%')
AND Aktivflag = 1

having count (*) > 1



group by name1, plz, strasse
order by doppelt desc, name1


In dieser Abfrage werden dann alle Kunden herausgefiltert, welche den selben Namen, PLZ und Strasse haben. Wenn ich jedoch noch zusätzliche Informationen zu den Kunden haben möchte, müsste ich in der Select-Anweisung mehr Spalten hinterlegen, was wiederrum das Ausgabeergebnis verringert.

Das optimale Ergebnis sollte so sein:

Kunde PLZ Strasse Spalte1 Spalte2 Spalte3
Horst 94491 Weg 1 abc def ghi
Horst 94491 Weg 1 xyz ghi tzu
Horst 94491 Weg 1 jkl zui tzu
Xaver 94469 Ort 2 rts qwe asd
Xaver 94469 Ort 2 ert hjk sdf

Die-SQL-Abfrage soll alle mehrfach angelegten Kunden ausgeben, welche den gleichen Namen, PLZ und Strasse haben. Zusätzlich sollten noch beliebig viele Spalten angegeben werden können.

Datenbank: Oracle 10g (10.2.0.3)

Bin für jede Hilfe dankbar.

mfg

JosefSepp
Mitglied: Biber
25.08.2009 um 17:23 Uhr
Moin JosefSepp,

für Deine Anforderung brauchst du ja noch einen Join mehr:

01.
 
02.
SELECT k.* FROM Kunden k,  
03.
(select count (*) as doppelt, name1, plz, strasse 
04.
from kunden 
05.
where (kundnr LIKE '17%' 
06.
OR kundnr LIKE '19%') 
07.
AND Aktivflag = 1 
08.
having count (*) > 1 
09.
group by name1, plz, strasse 
10.
) doppelkunde 
11.
WHERE 
12.
K.name1=doppelkunde.kunde AND 
13.
k.Plz=doppelkunde.plz AND 
14.
k.Strasse=doppelkunde.strasse 
15.
ORDER BY k.name1, K.plz, k.strasse, k.kundnr
[ungetestet]



Grüße
Biber

[Edit] Tippfehlerkorrektur: "name1" statt "kunde" und "strasse" statt "str" beim group by. [/Edit]
[Edit2] Jetzt noch mit dem überlesenen ORDER BY DoppelCOUNT:
01.
SELECT doppelkunde.doppelt, k.* FROM Kunden k,  
02.
(select count (*) as doppelt, name1, plz, strasse 
03.
from kunden 
04.
where (kundnr LIKE '17%' 
05.
OR kundnr LIKE '19%') 
06.
AND Aktivflag = 1 
07.
having count (*) > 1 
08.
group by name1, plz, strasse 
09.
) doppelkunde 
10.
WHERE 
11.
K.name1=doppelkunde.kunde AND 
12.
k.Plz=doppelkunde.plz AND 
13.
k.Strasse=doppelkunde.strasse 
14.
ORDER BY doppelkunde.doppelt, k.name1, K.plz, k.strasse, k.kundnr
[/Edit2]
Bitte warten ..
Mitglied: filippg
25.08.2009 um 20:57 Uhr
Hallo,

dein Problem ist, dass du alle Spalten, die im SELECT stehe auch im GROUP haben musst? Und dann nur noch die Ausgegeben bekommst, die tatsächlich _alles_ gleich haben (auch die zusätzlichen Spalten, die du einfach informativ ausgeben willst)? Dann solltest du aus count(*) ein count(strasse) machen.

Gruß

Filipp
Bitte warten ..
Mitglied: JosefSepp
26.08.2009 um 07:59 Uhr
Danke für die beiden Antworten. Werde beide gleich ausprobieren.
Bitte warten ..
Mitglied: JosefSepp
26.08.2009 um 10:40 Uhr
Der Vorschlag von Biber war bis auf einen kleinen Fehler perfekt. (K.name1=doppelkunde.kunde). Danke.

Der Vorschlag von filippg lieferte mir leider keine Ergebnisse. Trotzdem vielen Dank für deinen Vorschlag.
Bitte warten ..
Ähnliche Inhalte
PHP
Abfrage SQL
gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

Datenbanken
Hilfe bei SQL Abfrage
gelöst Frage von e51bomagDatenbanken9 Kommentare

Habe einfach eine Denkblockade und würde mich über Hilfe bei einer Datenbankabfrage freuen. Die Abfrage lautet wie folgt: SELECT ...

Windows Server
SQL Abfrage automatisch exportieren
Frage von Andinistrator1Windows Server6 Kommentare

Hallo Zusammen, kurz und knapp: Ich habe eine SQL Abfrage. Diese soll automatisch, z.B. per Agend 1x/Nacht ausgeführt werden. ...

Datenbanken
Hilfe bei SQL-Abfrage
gelöst Frage von emeriksDatenbanken5 Kommentare

Hi, gegeben: MS SQL Server 2005 eine DB mit 3 Tabellen Tabelle "Objekte" 2 Spalten: ID, Name Tabelle "Eigenschaften" ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...