Zum Inhalt springen

[SQL] Selektion von Datensätze mit nicht gefüllten Feldern


Carwyn

Empfohlene Beiträge

Hallo,

zuerst vorab, ich hab nicht täglich mit SQL zu tun, deswegen entschuldigt, wenn mir manche Sachen nicht direkt klar sind oder ich auf einfache Dinge nicht komme. ;)

So, nachdem der Disclaimer erledigt ist, kommen wir auf mein Problem:

Ich habe hier Datensätze. Die Datensätze sind Vorgänge. Das heisst, im Endeffekt wird ein durchlaufener Arbeitsprozess pro Datensatz angegeben. Hier werden Felder gefüllt und zusätzliche Informationen hinterlegt. Es gibt standardisierte Felder in diesem System und es gibt Zusatzfelder, die wir selbst erstellen und dem System hinzufügen können, um den Prozess unseren Gegebenheiten anzupassen. Genau hier ist der Knackpunkt.

Die Zusatzfelder des Vorgangs werden in einer separaten Tabelle geführt, mit FeldID, VorgangsID und Feldinhalt.

Soweit, so schön.

Allerdings ist es so designed, dass nicht jeder Vorgang in der Zusatzfeldtabelle alle Felder eingetragen hat, sondern nur die Felder, die bei ihm auch befüllt wurden. Es gibt nun Zusatzfelder bei uns, die nicht zwingend ausgefüllt werden müssen. "Aktenzeichen" ist so ein Fall. Das Feld kann im Falle eines vorhandenen externen Aktenzeichens gefüllt werden mit Daten, jedoch muss es nicht gefüllt werden.

Tritt letzteres ein, existiert dieses Zusatzfeld in der Zusatzfeldtabelle bei diesem Vorgang nicht.

Ich möchte nun eine Selektion machen, bei der ich alle mir relevanten wie auch optionalen Zusatzfelder und deren Werte angezeigt bekomme. Da ich immer wieder auf die Zusatzfeldtabelle zugreifen muss pro Feld, darf ich also prima joinen pro Feld und in der In der WHERE-Klausel müsste ich angeben "Where Zusatzfeldxy.FeldID = 123456", um dann den Inhalt dieses Feldes ausgelesen zu bekommen. Wenn es das Feld nicht gibt, dann wird der Vorgang in der Selektion nicht gefunden, weil er dem Kriterium nicht entspricht - was ich vermeiden möchte. Mache ich das bereits im Join (bspw. "Vorgang.VorgangsID = Zusatzfeld.VorgangsID AND Zusatzfeld.VorgangsID= 123456") wird auch das nicht klappen, wenn der Datensatz nicht vorhanden ist.

Ich möchte aber sowohl die Vorgänge sehen, in denen ein Aktenzeichen eingetragen ist, wie auch die, in denen es nicht eingetragen ist, da dieser Feldeintrag optional ist.

Übersehe ich etwas, ist es total einfach oder möchte ich etwas erreichen, was so nicht geht? Oder hab ich mit meinem Geschriebenen mein blankes Nichtwissen präsentiert?

Falls letzteres der Fall ist: Deswegen frage ich Euch, die Ihr Euch damit auskennt. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...