[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    425

    3 dateien, 2 kett-Felder, welcher join

    Hi, Sql er
    ich hab folgendes Problem

    with k1 as (select tag1, menge1, arbeitplatz1 from ...),

    k2 as (select tag2, menge2, arbeitplatz2 from ...),

    k3 as (select tag3, menge3, arbeitplatz3 from ...)

    select Tag1, tag2, tag3, menge1, menge2, menge3, arbeitsplatz1, arbeitsplatz2, arbeitsplatz3 from k1, k2, k3
    where tag1 = tag2 and tag2 = tag3 and
    arbeitsplatz1 = arbeitsplatz2 and
    arbeitsplatz2 = arbeitsplatz3


    Das geht gut, wenn ein Tag und ein Arbeitsplatz in allen 3 Dateien gleich ist.
    ich brauche nun ALLE Tage und ALLE ABrbeitsplätze.

    Da ich eine Stammdatei mit den möglichen Arbeitsplätzen habe habe ich
    diese Datei mit left join mit k1, k2 und k3 verknüpft
    also

    select t0.arbeitsplatz, Tag1, tag2, tag3, menge1, menge2, menge3, arbeitsplatz1, arbeitsplatz2, arbeitsplatz3 from apl as t0 left join k1 on(arbeitsplatz = arbeitsplatz1),
    apl as t1 left join k2 on(arbeitsplatz = arbeitsplatz2),
    apl as t2 left join k3 on(arbeitsplatz = arbeitsplatz3)

    Das ist es aber noch nicht, die Tage fehlen.

    Ziel ist
    Tag (1, 2, oder 3) arbeitsplatz (1, 2 oder 3) menge1, menge2, menge3 (jeweils falls vorhanden)
    Wer kann da helfen

    Danke
    Max

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das ist ein typischer Fall von Union-Select:

    select tag, 0, 0, Platz, ' ', ' ', Menge, 0, 0 from K1
    union all
    select 0, Tag, 0, ' ', Platz, ' ', 0, Menge, 0 from K2
    union all
    select 0, 0, Tag, ' ', ' ', Platz, 0, 0, Menge from K3
    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

  3. #3
    Registriert seit
    Sep 2005
    Beiträge
    425
    Danke, das geht.
    daraufhin hab ich es etwas geändert, und das geht nicht.
    Ich habe den with zweig erweitert um

    tot as select tag1 as ta, platz1 as pl, menge1 as me from k1 union all
    select tag2 as ta, platz2 as pl, menge2 as me from k2 union all
    select tag3 as ta, platz3 as pl, menge3 as me from k3

    und den eigentlichen select umgebaut auf
    select ta, pl, sum(me) from tot group by ta, pl

    auch das geht

    Schreib ich nun ein
    create view myview as
    davor, bekomme ich die Fehlermeldung
    Spaltenliste erforderlich.

    Was bedeutet das ?

    Max

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da muss man sich die Syntax mal genauer ansehen, die View benötigt da leider ein bisschen Hilfe:

    create view myview (f1, f2, ...)
    as
    select ...

    Im Select lässt man dafür "as name" weg.
    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

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    425
    jep
    nun hab ich die view, Super, Danke !!
    Werd Morgen mal die Zahlen prüfen.

    Weggelassen hab ich aber nix, ich hab nur
    create view myview (ta, pl, me)
    as
    select ...
    geschrieben und die view ist da.

    Danke
    Gruß
    Max

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    "as name" wird dann einfach ignoriert oder (was zu testen wäre), die Namensliste kann eine andere Reihenfolge als im Select sein, wobei das für SQL eigentlich ganz unerheblich ist.
    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

Similar Threads

  1. Join Logische auf Dateien mit gleichem Satzformatnamen
    By harkne in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 30-05-08, 09:13
  2. Defekte Dateien
    By Rincewind in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 23-01-07, 08:49
  3. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  4. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  5. RPG mit Embedded SQL, JOIN ..
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 18-06-06, 12:14

Berechtigungen

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