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

Ausgedruckt am: 19.03.2024 um 05:03 Uhr

Mitglied: sabines
Lösung sabines 29.06.2017 um 07:38:34 Uhr
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
Mitglied: MiSt
Lösung MiSt 29.06.2017 aktualisiert um 07:43:03 Uhr
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
Mitglied: em-pie
em-pie 29.06.2017 um 08:56:31 Uhr
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
Mitglied: qf1410640014
qf1410640014 29.06.2017 um 20:49:20 Uhr
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
Mitglied: em-pie
em-pie 01.07.2017 aktualisiert um 18:14:41 Uhr
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