Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

DISTINCT in einer Abfrage

Begonnen von Atuatuca, März 05, 2016, 18:56:11

⏪ vorheriges - nächstes ⏩

Atuatuca

Hallo Access-O-Maniacs,

versuche in meiner Abfrage ein DISTINCT einzubauen, da sonst Datensätze doppelt in mein Endlosformular angezeigt werden. Hier mein SQL zu meiner Abfrage "qry_OPL_Uebersicht".

Standardmäßig: SELECT DISTINCT ID_OPL FROM tbl_Offene_Punkte ORDER BY ID_OPL;

Hat jemand eine Idee / Vorschlag / Tipp oder Link ?

SELECT tbl_Offene_Punkte.ID_OPL, tbl_Offene_Punkte.Erledigt, qry_mitarbeiter_Wir.VorUndZuname_Wir, qry_mitarbeiter_Die.VorUndZuname_Die, tbl_Prioritaet.Prioritaet, tbl_Offene_Punkte.Soll_Termin, tbl_Offene_Punkte.Ist_Termin, tbl_Offene_Punkte.intern_extern, tbl_Aufgabentyp.Aufgabentyp, tbl_Offene_Punkte.Aktion_oder_Ziel, tbl_Offene_Punkte.Ergebnis_Status, tbl_Offene_Punkte.Bemerkung, tbl_Offene_Punkte.Sachnummer, tbl_Offene_Punkte.Mehraufwand, qry_Fremdfirma.Firma, tbl_Zug.Zug, tbl_AOC.AOC, tbl_Standort_Con.Standort_AOC
FROM tbl_Zug RIGHT JOIN ((tbl_AOC RIGHT JOIN tbl_ZUG_AOC ON tbl_AOC.ID_AOC = tbl_ZUG_AOC.ID_AOC) RIGHT JOIN (tbl_Standort_Con RIGHT JOIN (tbl_CON1 RIGHT JOIN (tbl_Aufgabentyp RIGHT JOIN (tbl_OP_CON RIGHT JOIN (tbl_Prioritaet RIGHT JOIN (qry_Fremdfirma RIGHT JOIN (qry_mitarbeiter_Wir RIGHT JOIN (qry_mitarbeiter_Die RIGHT JOIN tbl_Offene_Punkte ON qry_mitarbeiter_Die.ID_Mitarbeiter = tbl_Offene_Punkte.Wer_Die) ON qry_mitarbeiter_Wir.ID_Mitarbeiter = tbl_Offene_Punkte.Wer_Wir) ON qry_Fremdfirma.ID_Firma = tbl_Offene_Punkte.Fremdfirma) ON tbl_Prioritaet.[ID_Prioritaet] = tbl_Offene_Punkte.Prioritaet) ON tbl_OP_CON.ID_OP = tbl_Offene_Punkte.ID_OPL) ON tbl_Aufgabentyp.ID_Aufgabentyp = tbl_Offene_Punkte.Aufgabentyp) ON tbl_CON1.ID_Con = tbl_OP_CON.ID_CON) ON tbl_Standort_Con.ID_Standort_Con = tbl_CON1.ID_Standort) ON tbl_ZUG_AOC.ID_Zug_AOC = tbl_CON1.ID_Zug_AOC) ON tbl_Zug.ID_Zug = tbl_ZUG_AOC.ID_Zug
ORDER BY tbl_Offene_Punkte.ID_OPL;


Gruss
Atuatuca

MzKlMu

Hallo,
gibt es in dieser Abfrage unter Berücksichtigung aller Felder wirklich doppelte Datensätze ?
Möchte ich bezweifeln. Es sind eher einzelne Felder doppelt. Und dann nutzt DISTINCT auch nichts.
Gruß Klaus

Atuatuca

#2
Hallo MzKlMu,

Zu jedem offenen Punkt kann es mehrere Container geben aber auch umgekehrt (M:N Beziehung)

Testdatenbank im Anhang.

DF6GL

Hallo,

ich befürchte, Du eierst immer noch mit der ungenügenden Normalisierung der Db herum....


Solche Tricksereien sind nicht erforderlich, wenn die Normalisierungsregeln konsequent angewendet werden.

Dazu hatte ich Dir einen konkreten Vorschlag gegeben.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Atuatuca

Hallo Franz,

vielleicht bin ich falsch gewickelt, aber für mich heisst "Normaliserung", dass die Daten nur 1x vorhanden sind. Und somit wären meine Daten "Normalisiert".

Gruss Atuatuca