Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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. ;)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.