更新表A,对表b的内容和c'内容进行数学计算

时间:2016-10-12 03:51:20

标签: mysql sql

我有三张桌子

表a是产品价格表:

| productID | country | price |
|-----------|---------|-------|
| 1         | US      | 200   |
| 1         | UK      | 200   |
| 2         | US      | 600   |

表b是产品设定表:

| ProductID | Nameofsetting | value |
|-----------|---------------|-------|
| 1         | pvalue        | 300   |
| 1         | bvalue        | 200   |
| 2         | bvalue        | 600   |

表c是单价:

| unitprice |
|-----------|
| 6.0       |

我需要对表A的产品ID进行更新并计算(表' s bv *表c' unitprice)

例如: 如果unitPrice = 8.0

表A将根据以下内容更新价格:

| productID | country | price |
|-----------|---------|-------|
| 1         | US      | 1200   |
| 1         | UK      | 1200   |
| 2         | US      | 3600   |

1 个答案:

答案 0 :(得分:0)

    DECLARE @unit_price DECIMAL

    SELECT TOP 1 @unit_price = UniTPrice
    FROM #TableC;

    UPDATE #tableA
    SET Price = #tableb.Value * @unit_price
    FROM #tableA
    INNER JOIN #tableb ON #tableA.ProductID = #tableb.ProductID
    WHERE #tableb.NameofString = 'bvalue'

    SELECT * FROM #tableA