2011-01-02 5 views
0

Ok sagen, ich habe zwei Tabellen Produkt und Vertrieb Das Produkt enthält die ID, Name und Preis. Der Verkauf enthält Gesamtartikel, verkaufte Artikel. Ich möchte den Preis aus der Produkttabelle erhalten und ihn mit den verkauften Artikeln aus der Verkaufstabelle multiplizieren und das Ergebnis in der verkauften Spalte in der Verkaufstabelle speichern.Kann ich Berechnungen an zwei Tabellen durchführen und das Ergebnis in einer bestimmten Spalte in einer dieser Tabellen hinzufügen?

Wie kann ich das tun? MySQL und auf einem MS SQL Server 2008

Antwort

1
update Sales 
set `amount-sold` = 
    `sold-items` * 
    (select ifnull(price, 0) 
    from Product 
    where Product.id=Sales.product_id); 
+0

Oh schön, ja, das ist besser als meins: o) – vimist

0

die Daten extrahieren.

SELECT p.`price`,s.`sold-items` FROM `product` AS p INNER JOIN `sales` AS s ON s.`id`=p.`id` WHERE p.`id` = 123 

Speichern Sie die Abfrage-Ergebnis in einer Variablen und führen Sie dann die Multiplikation und dann die Daten einfügen zurück in

UPDATE `sales` SET `amount-sold` = {NEW VALUE} WHERE `id` = 123 
Verwandte Themen