View Full Version : SQl: select * From(select ...) as Res group By
Hallo
ich möchte folgenden SQL ausführen.
Select * from (SELECT *FROM RNRPF050 ORDER by RNRFIR, RNRANR, RNRVA1, RNRVA2, RNRHER, RNRPOS
) AS RESULT
group by RNRANR, RNRHER
leider kann ich den auf der iSeries nicht laufen laufen. Nehme ich z.b. SQuirrel läuft das ohne Probleme.
Geht ein verschachteltere SQL auf der iSeries mich ??
Gruss Olaf Ulbrich
Verschachtelte Sub-Selects sind auf DB2 for i auf alle Fälle möglich.
Allerdings ist Deine Syntax für den Group by nicht zulassig:
1.Die beiden Spalten, die im Group By angegeben werden, müssen auch im äußeren Select angegeben werden und keine anderen Spalten! Es sei den Du willst mit Aggregat-Funktionen (z.B. sum) irgendwas berechnen, aber auch dann muss dies explizit angegeben werden.
2. Ein Order By im verschachtelten Sub-Select ist erst mir Release 6.1 möglich. Der Order By für das gesamte Statement funktioniert schon immer.
Squirrel ist ein Tool, mit dem Du auch auf die DB2 for i zugreifen kannst. Ich vermute Du verwendest eine andere Datenbank (z.B. MySQL oder SQLServer) mit Squirrel.
Birgitta
... wobei man den inneren Order By auch durch Aufnahme der entsprechenden Felder in die Group Bedingung erreichen kann...
select <Feldliste>
from RNRPF050
GROUP by RNRFIR, RNRANR, RNRVA1, RNRVA2, RNRHER, RNRPOS
und in Feldliste stehen dann die Group Felder und Summenfunktionen zur Verfügung. Das ResultSet kann man dann noch mit einer Order By Klausel final sortieren.
D*B
Besten Dank ihr beiden. Hat bestens funktioniert.
Gruss Olaf Ulbrich