carroll: SQL JOIN auf selbe Tabelle

Beitrag lesen

Hallo carroll,

ich denke GROUP BY sollte dir dabei helfen

in etwa :
SELECT company, street0
FROM ADRESSES
GROUP BY company
HAVING count(street0) > 1

die SQL syntax müsstest du nochmal genauer nachforschen, aber diese Abfrage sollte dir das gewünschte Ergebnis liefern.

Danke, der Tip war sehr hilfreich! Etwas verändert und ich habe zumindest erstmal die Firmen, bei denen mehrere Einträge mit Straßen existieren:

SELECT ADDRESSES.COMPANY1, COUNT(ADDRESSES.STREET0)  
FROM ADDRESSES  
GROUP BY ADDRESSES.COMPANY1  
HAVING COUNT(ADDRESSES.STREET0) > 1;

Zur erklärung

Group by gruppiert nach den Companynamen
Having bezieht sich auf das Group by und sollte dir alle datensätze ausgeben, welche mehr als eine strasse eingetragen haben.

um in zukunft solche fehler auszuschließen, gibt es die möglichkeit eine Spalte als UNIQUE einzutragen.

Es handelt sich um die Datenbank aus "Cobra Adress Plus", welche nun eben schon eine ganze Weile eher 'wild' gewachsen ist und ich fürchte, dass selbst diese kleinen Versuche da noch etwas Ordnung reinzubringen nicht sehr aussichtsreich sind. ;)

Gruß,
Alex.

Nochmals vielen Dank!

carroll