[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2017
    Beiträge
    12
    Hallo KM,

    das funktioniert, das heißt somit, dass ich für etwaige Einschränkungen bzw. Prüfungen diese an der/den Verknüpfungen vornehmen muss.

    Wie sieht denn zur Alternative die Verknüpfung der Dateien aus, wenn ich auf meine WHERE-Klausel nicht verzichten möchte?

    Liebe Grüße
    MiMarkow

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... bei outer joins werden die "ergänzten" Sätze (das sind die, die kein Pendant haben) mit Null Values im Resultset aufgenommen. Für null gilt eine dreiwertige Logik: Alle Vergleiche mit Null liefern false, null is also weder gleich ungleich, größer oder kleiner als jeder andere Wert. Die einzige Operation mit null, die TRUE liefert, ist die spezielle Abfrage ISNULL. Wenn ich also einen Vergleich in dei Where Klausel schieben will, muss ich entsprechend mit IS NOT NULL sicherstellen, dass da nix wegdüst. In der Join Klausel ist das einfacher und eleganter.
    In manchen Fällen kann man da auch im View Layer die Nullfelder mit coalesce in blanks oder 0 tauschen. (wenn's die fachliche Logik erlaubt)

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Warum willst Du denn so sehr an der WHERE-Klausel festhalten? Wenn Du nur INNER JOINs hast, dann kannst Du ruhig die WHERE-Klausel verwenden. Aber wenn auch andere Joins vorkommen, dann besteht die Gefahr, dass Dir Sätze durch die Lappen gehen.

    Gruß,
    KM

  4. #4
    Registriert seit
    Mar 2017
    Beiträge
    12
    Ich hatte bis dato noch nicht so viel mit SQL zu tun und wenn, dann eher über die einfache Schiene mittels strqm, meistens aber mit wrkqry, daher meine Anfrage und wie heißt es so schön im Leben, es führen immer mehrere Wege nach Rom = Lösung!!

    Und da man ja auch niemals auslernt, hatte ich diese Anfrage gleich nachgeschoben!!

    Das wichtigste aber ist, dass ihr mir alle ganz super toll geholfen habt und ich eine funktioniernde SQL-Abfrage habe - vielen lieben Dank!!!

    Liebe Grüße
    MiMarkow

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Von der Logik und dem SQL-Standard her ist die alte Join-Logik eben veraltet da sie eher kompliziert wird.
    Sobald man nämlich in einer Where-Klausel ein Feld auf einen Nicht-NULL-Wert vergleicht, optimiert SQL automatisch auf einen Inner Join.
    Die on-Klausel ist annähernd mit einer Where-Klausel vergleichbar, aber nicht identisch. Einiges geht, manches eben nicht, z.B. scalare Subselect. Man kann aber durchaus einfache skalare Berechnungen durchführen und mit diesem Ergebnis vergleichen.
    In die On-Klausel gehört erstens die Beziehung und ggf. zweitens eine weitere Einschränkung die NULL-Ergebnisse liefern darf.
    In die Where-Klausel gehören dann die tatsächlichen Filter auf das Gesamtergebnis wobei eben Left-Joins nicht mehr weiter gefiltert werden dürfen, da sie sonst wieder zu Inner Joins werden da, wie Dieter schon beschreibt ein Vergleich mit NULL und einem Wert nie TRUE wird.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Mar 2017
    Beiträge
    12
    Hallo Herr Fuerchau,

    vielen Dank für Ihre detaillierte Beschreibung - das hilft mir sehr weiter!!

Similar Threads

  1. Antworten: 10
    Letzter Beitrag: 14-12-16, 15:45
  2. Excel-Tabelle / Spalten in phy. Datei
    By AK1 in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 26-10-16, 12:59
  3. unbekannte Datei Feldweise in allg. gültige Tabelle schreiben
    By Robi in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 07-01-16, 07:40
  4. Zugriff auf eine Datei per ODBC
    By mott in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 16-12-15, 15:55
  5. Antworten: 6
    Letzter Beitrag: 22-04-14, 14:30

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •