Sprint
Erfahrenes Mitglied
Hallo zusammen,
ich habe hier das Problem, daß ich in einer Adressentabelle Übereinstimmungen finden muß. Das ist prinzipiell kein Problem:
Allerdings werden mir damit natürlich alle Übereinstimmungen gefunden. Wenn ich der Suche eine Kundennummer gebe, soll nun nur die übereinstimmende Adresse gefunden werden.
So sähe z.B. die obige Abfrage aus:
Ich muß jetzt der Suche z.B. die Kundennummer 7 übergeben und will als Ergebnis die 955 und die 123 bekommen, da die übereinstimmende Adressen besitzen.
Natürlich könnte ich die kompletten Fundstellen auf Übereinstimmungen durchsuchen, aber das wäre doch ziemlich umständlich. Deshalb würde mich interessieren, ob das mit Mysql alleine auch machbar wäre und wenn, dann wie.
ich habe hier das Problem, daß ich in einer Adressentabelle Übereinstimmungen finden muß. Das ist prinzipiell kein Problem:
SQL:
SELECT n.*
FROM niederlassungen n
INNER JOIN (
SELECT plz, ort, str, hausnr
FROM niederlassungen
GROUP BY plz, ort, str, hausnr
HAVING COUNT(kunde) > 1) dup ON n.plz = dup.plz AND n.ort = dup.ort AND n.str = dup.str AND n.hausnr = dup.hausnr
So sähe z.B. die obige Abfrage aus:
Code:
kunde plz ort str hausnr
100 10000 Berlin Kudamm 17
140 10000 Berlin Kudamm 17
955 50000 Köln Hauptstr. 100
7 50000 Köln Hauptstr. 100
654 80000 München Leopoldstr. 9
111 80000 München Leopoldstr. 9
7 60000 Frankfurt Kaiserstr. 210
123 60000 Frankfurt Kaiserstr. 210
Natürlich könnte ich die kompletten Fundstellen auf Übereinstimmungen durchsuchen, aber das wäre doch ziemlich umständlich. Deshalb würde mich interessieren, ob das mit Mysql alleine auch machbar wäre und wenn, dann wie.