Zum Inhalt springen

Problem mit sum


daniel_bln

Empfohlene Beiträge

Hallo Leute,

ich möchte 2 ziemlich komplizierte SQL Anweisungen erstellen, komme aber leider momentan nicht weiter.

Ich habe beispielweise diese Tabelle hier:

ID, ID2, Anzahl

1 , 1 , 2

1 , 2 , 4

2 , 1 , 3

Ich möchte jetzt die Summe bilden zwischen den Eintrag wo ID=1 und ID2=1 mit dem Eintrag wo ID = 2 und ID2 = 1. Und immer so weiter wenn man sich vorstellen würde, dass die Tabelle merere Einträge hätte.

Ich möchte als explizit bestimmte Zeilen miteinander addieren.

Ich habe es schon mit

SELECT sum(anzahl) from catchword where ID = 1 AND ID2r=1

und weiter komme ich irgendwie nicht, denn eine weitere AND WHERE würde zum Fehler führen.

Die zweite Abfrage wäre,dass ich sage, dass ich den ersten Eintrag löschen will unter der Bedinung, dass Anzahl>0 ist und unter der Bedinungen, dass die Anzahl des dritten Eintrags >0 ist und so weiter halt. Dabei suche ich immer nach der ID und der IDNr.

Ich weiß ist nicht so einfach, wäre aber über jede Hilfe und Hinweis sehr dankbar!

lg Daniel

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich seh irgendwo nicht so ganz was die beiden datensätze miteinander zu tun haben sollen, wenn beide id´s unterschiedlich sind, warum willst du die aufsummieren ?

Btw, "and where" führt mit sicherheit zu nem fehler, versuchs mal mit


WHERE <expression>

   AND <expression2>

 

Bearbeitet von streffin
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

hab nicht viel Zeit, aber evtl bringt dich das weiter:

select sum(anzahl)

from

(

select row_number() OVER (order BY id,id2,anzahl) as rn,

id,id2,anzahl

from tabelle

) as tmp

where tmp.rn in (1,2);

wenn deine Datensätze in der Tabelle eindeutig sind, wird so eine Nummerierung jeder Zeile vorgenommen ( rn). Darauf kannst du dann einschränken welche Zeilen du alle benötigst.

Ähnliches vorgehen sollte auch ggfs. beim Delete helfen um eine Zeile ansprechen zu können

Gruß

Stefan

Link zu diesem Kommentar
Auf anderen Seiten teilen

ähm, was wird denn hier noch rumoracelt (harhar) wenn das problem lediglich die Syntax war?

du kannst soviele AND bedingungen machen wie du lustig bist.

Allerdings kannst du so nicht verschiedene bedingungen eines wertes gleichzeitig machen, was aber auch logisch ist.

du könntest dir aber das eine select als temporäre Tabelle wegspeichern

create table temp_summe as select id,id2,anzahl from table_bla where id1=1 and id2=2;

dann kannst du davon die summe nehmen und das mit der summe der ursprungstabelle mit gedrehten where-bedingungen laufen lassen.

schau dir auch mal die möglichkeiten von subselects an, damit gehts auch ohne den zwischenschritt der temp_summe tabelle.

Bearbeitet von Corto |sX|
Link zu diesem Kommentar
Auf anderen Seiten teilen

du kannst soviele AND bedingungen machen wie du lustig bist.

Allerdings kannst du so nicht verschiedene bedingungen eines wertes gleichzeitig machen, was aber auch logisch ist.

Auu sei da vorsichtig....

sicher where x=1 and x=2 is sinnfrei, aber syntaktisch richtig.

Where x > 5 and x <> 7 hingegen , macht durchaus öfters Sinn, und wird auch öfters gebraucht.

Gruß

Sven

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...