SQL: 2 Column miteinander multiplizieren und diese dann in ein Column von einer anderen Tabelle speichern?

3 Antworten

Über welches Programm/welche Programmiersprache greifst du auf die Tabelle zu?

Am einfachsten (Pseudocode):

Eingabe ID

Eingabe Menge

Preis = SELECT Artikel.Preis FROM Artikel WHERE Artikel.ID = ID

Wert = Menge * Artikel

INSERT INTO bestellpositionen VALUES (ID, Wert);

Meinst du sowas in der Art?

INSERT INTO zieltabelle (ergebnis) SELECT (spalte1 * spalte2) as mult FROM quelltabelle
McEiche13 
Fragesteller
 10.12.2018, 17:19

ich glaube ja
wäre mult nun ein temporerer speicherort oder wirklich der column in dem spalte1* spalte2 drin gespeichert wird ?

0
mastema666  10.12.2018, 17:22
@McEiche13

Genau, mult wäre nur Temporär, dürfte auf diese Weise auch ganz ohne das gehen, aber wenn man nachher damit arbeiten will gebe ich dem aus Gewohnheit immer einen Variablennamen den ich nachher wieder erkenne^^

Die Spalte, in der das gespeichert wird wäre in diesem Fall ergebnis.

0
McEiche13 
Fragesteller
 10.12.2018, 17:25
@mastema666

kann ich es nicht sofort in das Column speichern ?
oder müsste man vom "mult" dann nochmal in Column speichern ?
wenn ja... wie ?

ich weiss ich frage viel.. entschuldige

0
mastema666  10.12.2018, 17:30
@McEiche13

Das sollte genau so funktionieren, also die Ergebnisse werden direkt in der Spalte ergebnis der Tabelle zieltabelle gespeichert.

Wenn du die Ergebnisse selbst bearbeiten willst dürftest du nur den letzten Teil ab dem SELECT benutzen und den Rest dann halt in der jeweiligen Programmiersprache erledigen.

0
McEiche13 
Fragesteller
 10.12.2018, 17:40
@mastema666
INSERT INTO zieltabelle (ergebnis) SELECT (spalte1 * spalte2) as mult FROM quelltabelle

kann ich nicht das "as mult" weglassen und somit sofort in "ergebnis" speichern?

0
mastema666  10.12.2018, 17:45
@McEiche13

Wie gesagt, das wird ja schon direkt in ergebnis gespeichert, theoretisch müsste man das "as mult" auch einfach weglassen können, ändert aber nicht wirklich etwas an dem Ergebnis des Queries.

0

mir erscheint es auch leicht:

Du klickst auf das Feld, wo der Wert stehen soll. Dorthin schreibst Du ein Gleichheitszeichen. Danach klickt auf 1. Feld, ein Sternchen und danach klickt auf 2. Feld.

Woher ich das weiß:Studium / Ausbildung – siehe auch Computer