Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Komplizierte Mysql-Abfrage

  Alt 22. Mär 2014, 10:47
Und dann die Spalte wieder entfernen

Im Grunde genommen läuft es darauf hinaus, pro Artikel nur eine Zeile zu behalten und den Rest zu nullen.

In T-SQL (MS-SQL) würde das so gehen (Überarbeitung der Artikel-Tabelle anhand einer Arbeitsgrundlage). Ob das so in MySQL geht, weiß ich nicht.

Desweiteren müsste man noch klären, was passiert, wenn der Rückstand > Artikel ist.
Code:
update T_Artikel
   set Anzahl = case when x.RefID=Archiv_ID then x.Anzahl - x.Rückstand else 0 end,
       Rückstand = 0
from (
  select Artikel_ID,
         max(Archiv_ID) as RefID,
         sum(Anzahl) as Anzahl,
         Sum(Rückstand) as Rückstand
    from T_Artikel
   group by Artikel_ID
  ) x
  Mit Zitat antworten Zitat