Zum Inhalt springen

SQL *PLUS Summe berechnen


kale_1990

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ändert
  • ROW Gruppenwechsel für jede selektierte Zeile
  • REPORT Gruppenwechsel am Ende eines Berichts oder einer Abfrage

Link zu diesem Kommentar
Auf anderen Seiten teilen

soweit bin ich auch scho gewesen....nur es wird mir nichts angezeit! :rolleyes:

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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'

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...