qf1410640014
Goto Top

MySQL - Feld aus anderer Tabelle hinzusummieren?

Hallo,

habe ein banales Problem und bin leider mit JOINS nicht gut bewandert.

zwei simple Lagertabellen mit den Felder:

Artikelnummer, Artikelname, Lagerstand

die in zwei Filialen identisch sind. Problem: eine Filiale wird aufgelassen und die Ware (=Lagerstände) sollen nun in die andere Filiale übernommen werden

Einfach ausgedrückt:

das Feld Lagerstand soll in der Tabelle Filiale_X den Lagerstand aus der Tabelle der Filiale_Y hinzusummieren.

habe so etwas auf die Art

UPDATE Filiale_X SET Lagerstand = Lagerstand + ....Lagerstand aus Filiale 2....

komme da aber nicht weiter, wie ich mir diesen Lagerstand per JOIN reinholen kann.

Sicher für einen MySQL-Guru eine lächerliche Aufgabe

LG

Content-Key: 341904

Url: https://administrator.de/contentid/341904

Printed on: April 23, 2024 at 06:04 o'clock

Member: sabines
Solution sabines Jun 29, 2017 at 05:38:34 (UTC)
Goto Top
Moin,

mach' doch vor dem Update Befehl einen Test join und schau Dir das Ergebnis an, danach kannst Du daraus den Update Befehl basteln.
Und natürlich sicherst Du die DBs oder Tabellen und bist Dir 100% sicher bei dem was Du tust, sonst laß' das für 5,00 Euro vom Hersteller machen.

http://sql.lernenhoch2.de/lernen/sql-fortgeschritten/join-tabelle-zusam ...


Gruss
Member: MiSt
Solution MiSt Jun 29, 2017 updated at 05:43:03 (UTC)
Goto Top
Moin,
ich bin jetzt auch kein gr. Guru, aber geht das nicht mit einem INNER JOIN?

SELECT *
FROM tabelle1
INNER JOIN tabelle2 ON art-nr = art-nr
...


Gruß
Michael
Member: em-pie
em-pie Jun 29, 2017 at 06:56:31 (UTC)
Goto Top
Moin,

Zitat von @MiSt:

Moin,
ich bin jetzt auch kein gr. Guru, aber geht das nicht mit einem INNER JOIN?

SELECT *
> FROM tabelle1
> INNER JOIN tabelle2 ON art-nr = art-nr
> ...
So holt sich der TO aber nur alle Artikel doppelt in seine "ANzeige"

SELECT a.artikel, a.artikelname, a.lagerbestand, b.lagerbestand, a.lagerbestand+b.lagerbestand as "Lager_kumulirt"  
FROM tabelle1 as a
INNER JOIN tabelle2 as b ON a.artikel = b.artikel
Wäre dann die Darstellung

und mit
UPDATE Table1 as a 
INNER JOIN tabelle2 as b ON a.artikel = b.artikel
SET a.lagerbestand = a.lagerbest + b.lagerbestand
sollte es funktionieren
Hilfe hier: https://stackoverflow.com/questions/8057565/mysql-update-statement-inner ...

Gruß
em-pie
Member: qf1410640014
qf1410640014 Jun 29, 2017 at 18:49:20 (UTC)
Goto Top
Hallo,

hab´s gefunden - danke:

UPDATE `Filiale_X` JOIN `Filiale_Y`
ON `Filiale_X`.`Artikelnummer` = `Filiale_Y`.`Artikelnummer`
SET `Filiale_X`.`Lagerstand` = `Filiale_X`.`Lagerstand` + `Filiale_Y`.`Lagerstand`

LG
Member: em-pie
em-pie Jul 01, 2017 updated at 16:14:41 (UTC)
Goto Top
Also ich will ja nicht kleinkarriert sein, aber das ist exakt das, was ich dir 12h vor deinem Post geschrieben habe...

von daher ist dein
hab´s gefunden - danke:"
wohl eher ein:
hat geklappt - danke

face-wink