AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komplizierte Mysql-Abfrage

Ein Thema von LoewenZahn · begonnen am 21. Mär 2014 · letzter Beitrag vom 22. Mär 2014
 
Benutzerbild von LoewenZahn
LoewenZahn

Registriert seit: 10. Okt 2013
22 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Komplizierte Mysql-Abfrage

  Alt 21. Mär 2014, 14:53
Datenbank: Mysql • Version: 2.9 • Zugriff über: Delphi
Und nun stoße ich an meine Grenzen.

Ich habe ein Problem mit meinem zu bearbeitenden Daten und benötige nun eine Abfrage doch diese scheint weit über meine Kompetenz zu gehen.

Zur Frage warum die Datenbank so aufgebaut ist und warum ich nicht einfach die Struktur verbessere: Die Daten sind schon so vorhanden und sollen nun vom Programm aus aufgeräumt werden.

Also, ich habe eine Datenmenge/Archiv mit Artikeln. Dort sind Artikel mit einer Bestellanzahl enthalten, nun gibt es aber zu einer Menge Rueckstände, daher will ich die Tabelle aufräumen:

Code:
+-----------+------------+--------+------------+    +-----------+------------+--------+------------+ 
| Archiv_id | Artikel_id | Anzahl | Rueckstand |    | Archiv_id | Artikel_id | Anzahl | Rueckstand |
+-----------+------------+--------+------------+    +-----------+------------+--------+------------+
|     0     |    101     |   1    |     4      |    |     0     |    101     |   0    |     0      |
|     1     |    101     |   2    |     0      |    |     1     |    101     |   0    |     0      |
|     2     |    101     |   2    |     0      | -> |     2     |    101     |   1    |     0      |
|     3     |    103     |   1    |     0      |    |     3     |    103     |   1    |     0      |
|     4     |    104     |   1    |     2      |    |     4     |    104     |   0    |     0      |
|     5     |    104     |   2    |     0      |    |     5     |    104     |   1    |     0      |
+-----------+------------+--------+------------+    +-----------+------------+--------+------------+
Was ist passiert? Es wurde ein Rueckstand zu einer Artikel_id betrachtet, folglich wurden solange Anzahlen zu diesem Artikel abgezogen, bis der Rueckstand eleminiert ist. Der Rest bleibt stehen.

Wie könnte man dies am besten via Mysql realisieren?

Mein eigener Ansatz bestand darin, dass ich ...
1. für jeden Artikel mit Rueckstand die Datensätze durchgehe. Also einmal alle mir 101 und einmal alle mit 104.
2. Dann vll die Summe(Anzahl) - Rueckstand
3. Alle Datensätze mit Anzahl auf 0
4. Einen einzelnen Datensatz mit Anzahl auf das Ergebnis von Punkt 2.

Das muss doch einfacher gehen? Ungern würde ich dutzende von Mysqlbefehlen nutzen sondern lieber einen einzigen.


Dann mal los eventuell gibts ja eine einfache Methodik oder Funktion die sich hier super anwenden lässt, mir allerdings noch unbekannt ist.

Gruß
Tim
Passwörter sind wie Unterwäsche. Du darfst sie keinen sehen lassen, musst sie regelmäßig wechseln und solltest sie nicht mit Fremden tauschen.
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz