You are not logged in.

  • Login

1

Thursday, December 9th 2010, 3:27pm

Join - dubletten entfernen

Hallo Forum!

Ich steh an bei einer DB-Abfrage... Gibts Rettung?

Ich habe zwei Tabellen mit der Spalte A. Teilweise gibt es doppelte Einträge. Die doppelten Einträge will ich aus der Auswahl entfernen. D.h. nicht auf einen Eintrag reduzieren (DISTINCT) sondern, ja, entfernen eben.

Hintergrund:
Die Tabelle x mit der Spalte A stellt einen Pool von Auftragsnummern dar. Aus diesem wird die Spalte A der Tabelle y befüllt. Es ist aber mühsam, immer die kompletten Auftragsnummern anzuzeigen und darin zu suchen. Wenn die Auftragsnummer schon zugeordnet ist, braucht sie auch nicht mehr angezeigt werden.
Besser ist es, immer nur die Differenz anzuzeigen. Also x.A minus y.A.
Gibts da eine Abfrage und wenn ja, kann mir jemand weiterhelfen?

Danke!

2

Thursday, December 9th 2010, 3:35pm

Das klingt nach einem Outer Join: http://en.wikipedia.org/wiki/Join_%28SQL%29#Left_outer_join

Welches DBMS setzt du denn ein?

3

Thursday, December 9th 2010, 4:01pm

@ mad:

Das wäre mysql. Hab mir eh gedacht, dass ich ums join nicht herumkommen werde...

4

Thursday, December 9th 2010, 4:47pm

Nee, um Joins kommt man bei relationalen Datenbanken selten herum ;)
Eigentlich muss man sagen zum Glück, denn durch diese Konzepte wird die relationale Algebra, also das Rechnen mit Tabellen sozusagen ja erst ermöglicht...

Je nach DBMS (Hersteller und Version) kann sich die Syntax unterscheiden. Für MySQL sind Joins aber gut dokumentiert: http://dev.mysql.com/doc/refman/5.1/de/join.html

Wenn du Probleme bei der Anwendung hast, dann zeig uns doch mal einen kurzen Ausschnitt deiner Tabellen. Dann kann man evtl. weiterhelfen. Allein aus Gründen des Lerneffekts solltest du es vorher aber selbst versuchen ;)

Social bookmarks