[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    136

    Question SQL FULL JOIN ???

    Gibts den full join noch nicht auf der I5?

    Also ich benötige keine Alternative, die hab ich bereits, nur wird das SQL Statement dadurch ein "bißchen" größer als es mit einem full join sein müsste.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Was meinst du mit einem Full-Join ?
    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 2004
    Beiträge
    136
    Ähm den full join eben,

    select * from T1 full join T2

    ist quasi ein

    select * from (
    select * from T1 left join T2
    union
    select * from T1 right join T2
    ) as H1

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ich glaube das ist ein schlechtes Beispiel, da das Ergebnis auch so erreicht wird:

    select * from T1 left join T2
    union
    select * from T1 right join T2

    Was willst du also erreichen ?
    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 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

  6. #6
    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

  7. #7
    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.

  8. #8
    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
  •