Thema: Syntaxanfrage

Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Syntaxanfrage

  Alt 15. Aug 2016, 13:38
"t1 full outer join t2 on 1=1" ist mit dieser Bedingung das Kreuzprodukt
wäre sinnvoller / verständlicher so zu schreiben:
"t1 cross join t2" und liefert das kartesische Produkt.

Früher (als oracle noch keine joins konnte) hätte man es so geschrieben (geht immer noch)
"[select columns from ]t1, t2" (ohne where condition)

Und ja, hier kann es nur darum gehen ein paar Zahlen nebeneinander zu bekommen. Würde man evtl. heute mit "Pivot" machen.

Die Logik, warum paarweise die CNT pivotisiert werden, finde ich so auch nicht zu verstehen.

Vielleicht ginge auch sowas in der Art, weil lauter Summen aus 0 und einem Wert dann auch nur den gleichen Wert ergeben und das Statement vielleicht eine Mischung aus Unwissenheit, früher standen da noch andere Werte-die wir nich mehr brauchen- und Migration aus einer anderen DB ist.

Code:
select a_c,k_c,w_c,misc_c from
(Select max(..cnt) as a_c from bucnt where having bu='A' group by ... ) a,
(Select max(..cnt) as k_c from bucnt where having bu='B' group by ... ) b,
(Select max(..cnt) as w_c from bucnt where having bu='L' group by ... ) c,
(Select max(..cnt) as misc_c from bucnt where having bu!='L' and ... group by ... ) d
(mit 'ohne' old school cross join kriterien)
Gruß, Jo
  Mit Zitat antworten Zitat