-
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.
-
Was meinst du mit einem Full-Join ?
-
Ä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
-
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 ?
-
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
-
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 ...),
b as (Select * from T2 Right Outer Join T2
on ...
where ...),
c as (Select * from A
Union
Select * from B)
Select F1, Sum(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
-
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.
-
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
-
By Robi in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 22-06-07, 15:52
-
By ahingerl in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 08-12-06, 08:28
-
By cassi in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-11-06, 15:03
-
By steven_r in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 19-10-06, 07:56
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks