Datensätze zählen, Berücksichtigung von doppelten Tabellenwerten.

Fuchsei

Mitglied
Hi User,

ich müsste in einer mdb. eine Zählung vornehmen.

Es sollen Datensätze nach einer gewissen Kundennr. gezählt werden.
Leider ist es so, das zu mehreren Kundenverbünden, nur eine Kundennr. vergeben wird.

Das heißt ich müsste es so machen, das bspw. einen Datensatz mit einer bestimmten Kundennr. nur einmal abgreift und auflistet. Alle anderen Datensätze werden ignoriert oder halt nicht gezählt.

Ist dies technisch iwie möglich? An der Struktur der Daten(das mehrere Datensätze eine Kundennr. besitzen und somit eine Art Redundanz entsteht kann ich jetzt leider nichts ändern).

Ich müsste also einen Weg finden, in dem ich Datensätze mit der gleichen Kundennr. nur einmal zähle.

VG
Fuchsei
 
Danke für die Antwort, das ganze hätte ich mir auch schon angesehen. Leider funktioniert das aber nicht richtig. Weil die Datensätze ja eig nicht wirklich Duplikate sind. Es sind in den Datensätzen mit den gleichen Kundennr. ja schon teilweise andere Daten drin. Sie betreffen halt alle den selben Kunden.

Ich bräucht halt aber eine Zählung der Kunden mit einem bestimmten Kriterium, leider wird mir hier dann eine Kunde mehrmals ausgeworfen, weil er ja mehrere Datensätze hat.

Ich bräuchte etwas das keine Duplikate eines gewissen Datenfeldes zulässt. Also ich habe einen Datensatz mit einer Kundennr. in einem Feld, jeder weitere Datensatz der dieselbe Kundennr. in diesem Feld hat, soll nicht angezeigt werden.

Ist das iwie möglich, wenns nur mit SQL möglich ist brächt ich evtl. ein kurzes Code Beispiel, da ich noch nicht so fit in diesem Thema bin.

Ist das iwie möglich?
 
Ich glaube du solltest uns hier ein paar Beispieldaten zeigen und dann noch wie das Ergebnis aussehen soll (eben manuell erstellt).
 
Hier mal eine Beispieldatenbank, sehr primitiv aufgebaut. Ich habe also zwei Datensätze von einer Person mit jeweils der gleichen Kundennr.

mich interessiert aber nur ein Datensatz mit einer Kundennr. damit ich eine richtige Zählung von bestimmten Kunden bekomme, die nicht vefälscht ist.

Ich suche also nicht direkt nach Datensatz-Duplikatsvermeidung sonder eher nach Feld-Duplikatsvermeidung.

Die "Grundtabelle" beschreibt den Bestand an Datensätzen. Die andere Tabelle beschreibt die Auswertung beispielhaft, die rauskommen soll, wenn ich eine Abfrage mache, die sowas kann.
 

Anhänge

  • Beispieldatenbank.zip
    6,5 KB · Aufrufe: 4
Zuletzt bearbeitet:
Sorry ich kann die Datei nicht öffnen, habe auch "nur" Office 2000 zur Verfügung. Es reicht eigentlich wenn du 2, 3 Beispiele hier schreibst.
 
Ok kein Problem:


Gehen wir von einer Grundtabelle aus mit den Daten:

SQL:
Kundennr.      Name.        Produktnr.
1234              Muster1       14
1234              Muster1       12
5678              Muster2       10
5678              Muster2       09



Eine Abfrage wie ich sie mir vorstellen würde sollte dann ausgeben:

SQL:
Kundennr.     Name      Produktnr.
1234             Muster1        14
5678             Muster2        10


Die Abfrage soll also nur pro Kundennr. immer nur einen anzeigen. Ich weiß das ganze ist blöd aufgebaut hinsichtlich der Tabellenstruktur. Daran kann ich aber nichts ändern.

Ist sowas iwie möglich?

Ich habs mit nem Codetag dargestellt, bei normaler Ansicht hats mir alles verschoben.
 
Zuletzt bearbeitet:
Du musst alle Felder die zur Gruppierung beitragen bei GROUP BY angeben, dann noch die Aggregatsfunktion FIRST (weil die nichts an den Daten selber verändert) und es sollte klappen:

SQL:
SELECT nummer, name, FIRST(produkt) FROM tabelle GROUP BY nummer, name
 

Neue Beiträge

Zurück