kale_1990 Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 hallo ich hab eine abfrage und möchte nun mit dem "compute sum" die summe der daten in einer spalte ermitteln....nur leider bekomm ich es nicht hin! würde mich über schnelle antwort freuen! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 Select sum('zusummierende Datenfelder') from Tabelle Where 'Bedingungen' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 4. Oktober 2006 Autor Teilen Geschrieben 4. Oktober 2006 ja so hab ich es schon versucht kommt aber "keine gruppenfunktion für einzelgruppen" und die summe soll unter allen daten stehen...also es soll nicht nur die summe ausgegeben werden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 und die summe soll unter allen daten stehen...also es soll nicht nur die summe ausgegeben werden Das wirst du in SQL Plus so nicht hinbekommen das die Summe unter den Daten steht. Du kannst allerdungs Spaltenweise Summen Bilden Select job,sum(sal) from emp group by job; Mögliche Ausgabe Clerk 2500 Salesman 5600 Manager 6000 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 4. Oktober 2006 Autor Teilen Geschrieben 4. Oktober 2006 das muss doch mit dem COMPUTE befehl funktionieren oder?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 das muss doch mit dem COMPUTE befehl funktionieren oder?? So hab mal ganz tief in meinen Unterlagen gestöbert und folgendes Beispiel gefunden COMPUTE SUM OF sal ON deptno REPORT BREAK ON deptno SKIP 1 ON job ON REPORT SELECT deptno,job,ename, sal FROM EMP WHERE deptno IN (10,20) ORDER BY deptno,job Ausgabe Deptno Job ename sal 10 Clerk Miller 1300 Manager Clark 2450 President King 5000 sum 8750 Bemerkung Das Compute Kommando bietet Ihnen die Möglichkeit, Berechnungen für die mit dem Break Kommando definierten Gruppen durchzuführen BREAK Kommando Ein Gruppenwechsel tritt auf sobald der Wert innerhalb einer Spalte wechselt. Sinnvoll ist daher eine entsprechende Sortierung der Spalten auf die der Break Befehl Bezug nimmt. Darüber hinaus stell SQL*Plus für den Break Befehl vordefinierte Grupenwechsel für jede selektierte Zeile und Berichtswechsel zur Verfügung Der BREAK BEfehl wird genutzt um bei Gruppenwechseln Leerzeilen zu erzeugen oder Berechnungen mit Compute anzustoßen Sie können folgende Fälle Definieren Ausdruck Gruppenwechsel sobal sich der Wert des Ausdrucks (z.B. Spalteninhalt) sich ändertROW Gruppenwechsel für jede selektierte ZeileREPORT Gruppenwechsel am Ende eines Berichts oder einer Abfrage Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 4. Oktober 2006 Autor Teilen Geschrieben 4. Oktober 2006 soweit bin ich auch scho gewesen....nur es wird mir nichts angezeit! ich hab folgende abfrage und will die summe von dmbmge SELECT to_date(dmbdbu,'YYYYMMDD') DAT,dmbnr NR, dmbtl TL, LPAD(dmbmge||' '||dmb sme,10) MG, dmbrm1 RM, dtlbn1||' '||dtlbn2 BEN, dtlpgr||'/'||dtlpfa GRP, dmblo L O, dmbsva SVA, dmbvnr VNR, dmbsbm BA, dtlvkb VKB FROM idmb,idtl WHERE dmbtl = dtlnr AND dmbdbu BETWEEN '&DMBDBU_VON' AND '&DMBDBU_BIS' REM COND and dmbdbu >= &DMBDBU_VON REM COND and dmbdbu <= &DMBDBU_BIS REM COND and dtlvkb = '&DTLVKB' REM COND and dmbsbm in (&DMBSBM) REM COND and dmbtl = '&DMBTL' REM COND and dtlpgr = UPPER('&DTLPGR') REM COND and dtlpfa = UPPER('&DTLPFA') ORDER BY dmbdbu,dmbnr Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 soweit bin ich auch scho gewesen....nur es wird mir nichts angezeit! Es sind aber schon Daten vorhanden, die der Where Bedingung entsprechen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 4. Oktober 2006 Autor Teilen Geschrieben 4. Oktober 2006 ja es sind daten vorhanden....es werden mir auch daten angezeit....nur die berechnete summe dazu nicht!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 Ich versuche mal die Gruppenbildung zu erraten Welches Ergebnis liefert folgender Code ? COMPUTE SUM OF dmbmge ON dmbnr REPORT BREAK ON dmbnr SKIP 1 ON dmbdbu ON REPORT SELECT to_date(dmbdbu,'YYYYMMDD') DAT, dmbnr NR, dmbtl TL, LPAD(dmbmge||' '||dmbsme,10) MG, dmbrm1 RM, dtlbn1||' '||dtlbn2 BEN, dtlpgr||'/'||dtlpfa GRP, dmblo LO, dmbsva SVA, dmbvnr VNR, dmbsbm BA, dtlvkb VKB FROM idmb,idtl WHERE dmbtl = dtlnr AND dmbdbu BETWEEN '&DMBDBU_VON' AND '&DMBDBU_BIS' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 4. Oktober 2006 Autor Teilen Geschrieben 4. Oktober 2006 ich bekomme die ganz normale anzeige die ich ohne das break und compute auch bekommen würde!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 4. Oktober 2006 Autor Teilen Geschrieben 4. Oktober 2006 hat denn keiner mehr ne idee?? warum das so ist oder wie ich es anders machn könnt evtl. mit einem anderen befehl??!!?! ich bin grad am verzweifeln!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Musor Geschrieben 4. Oktober 2006 Teilen Geschrieben 4. Oktober 2006 Also deine Abfrage verwirt mich einwenig. Fangen wir von vorne an und dazu brauch ich: 1. Tabelle zb Name, vorname, Gehalt, Beruf Müller Mark 1000 Putzer 2. Endform zB Beruf Summe(Gehalt) Putzer 1000 Sonst hat Pinhead schon alles relevante geschrieben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 5. Oktober 2006 Autor Teilen Geschrieben 5. Oktober 2006 also es funktioniert(mehr oder weniger) so weit...nur jetz ist noch folgendes problem vorhanden: ich hab die spalte mit einer spalte zusammengefügt( "LPAD(menge||' '||einheit,10) MG") und der inhalt ist jetz z.b. "10 St"....jetz kann er natülich nicht alles summieren da das "St" noch dran is....wie mach ich das er es trotzdem macht....der befehl sieht jetzt so aus compute sum of MG on DAT report break on DAT skip 1 on TL report bin für jede antwort dankbar! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 5. Oktober 2006 Teilen Geschrieben 5. Oktober 2006 Also ich würde dann erst nur die Summe der Zahlen bilden und nach der Berechnung die Einheit anhängen In etwa so ((compute sum of Menge)||' '||einheit) on DAT report break on DAT skip 1 on TL report Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 5. Oktober 2006 Autor Teilen Geschrieben 5. Oktober 2006 funktioniert das da ja das anhängen der einheit eigentlich in der abfrage geschiet!?!? in dem statement sieht es ja so aus LPAD(dmbmge||' '||dmbsme,10) MG wie muss es danach dann aussehen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.