Neuigkeiten:

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

Mobiles Hauptmenü

Abfrage bei der nicht zu allen Datensätzen ein Wert vorhanden ist

Begonnen von dobby110, September 15, 2022, 10:39:45

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,

ich habe mal eine grundsätzliche Frage, ob es eine Lösung für mein Problem gibt.
Aktuell baue ich ein paar Updates in eine bestehende Datenbank.

Ist-Zustand: bei Neuerfassung von Massnahmen kommt es häufiger vor, dass diese aus mehreren Teilen besteht. Bisher wurde dann jede Position als einzelne Massnahme in einer Tabelle erfasst. Das führt dazu, dass man zu einer Massnahme zwei oder drei Einträge machen muss.

Soll-Zustand: ich teile die Massnahmen in zwei Tabellen auf. Einmal die Massnahme selbst und eine Tabelle aus der die Details der Massnahme hervorgehen. Im Grunde vergleichbar mit einer Bestellung und den enthaltenen Artikeln dieser Bestellung.

Soweit so einfach ... Das Problem stellt sich jetzt bei den Altdaten, für die ja noch keine Details erfasst werden konnten, da es die Tabelle noch nicht gab.
Bei Erstellung eines Reports, auf dem man die Massnahme und die darin enthaltenen Details sehen soll bin ich dann auf das Problem gestossen, dass dieser Report nur Datensätze aufzeigen kann, für die Details befüllt wurden. D.h. die ganzen alten Einträge fehlen in diesem Report.

Bekommt man es irgendwie gelöst, dass er mir IMMER die Massnahme auf dem Report aufführt und nur bei den Massnahmen die Details anzeigt, wo es auch welche gibt. Dann müsste ich nicht künstlich zu jeder ID ein Leereintrag in der Tabelle Massnahmen_Details erzeugen, was sicher ein Lösungsansatz sein könnte.

Ich füge mal ein Screenshot des Reports an, damit man ein Bild von der gewünschten Ansicht hat.
Aktuell zeigt der Report nur diesen Testeintrag an, weil ich zu allen anderen Massnahmen keine Details eingetragen habe. In Zukunft relativiert sich das Problem, aber die Altdaten sollen darunter nicht leiden.


MzKlMu

Hallo,
ändere die Verknüpfung in der Abfrage von INNER auf RIGHT oder LEFT JOIN.

Gruß Klaus

dobby110

vielen Dank ! Das hat weitergeholfen. :-)
Problem ist gelöst.