[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    136
    okay da geb ich dir recht ich mach mal ein hoffendlich besseres Beispiel.

    ***Edit***

    select F1, sum(F2) from (
    select * from T1 left join T2
    where F1 = 'X'
    union
    select * from T1 right join T2
    where F1 = 'X'
    ) as H1
    group by F1
    order by F1

    das ja nur ein mini SQL, die Anwendung bei der ich das so in der Art verwende ist "etwas" Dicker und ich denke mal der echte Full Join wäre erheblich schneller.

    Zumal das hier viel Übersichtlicher ist.

    select F1, sum(F2)
    from T1 full join T2
    where F1 = 'X'
    group by F1
    order by F1

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hi,

    DB2 bietet zwar keinen FULL JOIN, jedoch die Möglichkeit über Common Table Expressions "temporäre Views " zu generieren und im Select-Statement zu verwenden.
    Es ist auch möglich, mehrere CTEs für das gleiche Statement zu definieren und ausserdem können die temporären Views aufeinander aufbauen.

    Hier ein Beispiel wie Deine SQL-Anweisung aussehen könnte:
    PHP-Code:
    With a as (Select from T1 Left Outer Join T2
                             on 
    ...
                        
    where ...),
         
    as (Select from T2 Right Outer Join T2
                             on 
    ...
                        
    where ...),
         
    as (Select from A
               Union
               Select 
    from B)
    Select   F1Sum(F2)
    From     C
    Group By F1
    Order By F1 
    Eine andere Möglichkeit wäre natürlich für die Union-Anweisung eine echte View zu generieren.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Sep 2004
    Beiträge
    136
    Okay, damit kann man das schon mal viel ordentlicher Programmieren,
    aber kann man den absehen ob der Full join mal in absehbarer Zeit zur verfügung steht?
    In den SQL Dokumentationen list man immer davon, nur bei der DB2 eben leider nicht.

  4. #4
    Registriert seit
    Sep 2004
    Beiträge
    136

    nur noch zur info

    Diese Simulation des Full join's ist übrigens nicht korrekt,

    PHP-Code:
    select from T1 left join T2
    union
    select 
    from T1 right join T2 
    sie müsste wie folgt lauten.

    PHP-Code:
    select from T1 left join T2
    union
    select 
    from T1 left exception join T2 

Similar Threads

  1. SQL inner join
    By Robi in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 22-06-07, 15:52
  2. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  3. SQL - Join mit Bedingung und Update
    By cassi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-11-06, 15:03
  4. SQL JOIN
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-10-06, 07:56
  5. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13

Berechtigungen

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