如何从两个不同的表中减去两个不同列的值?

时间:2016-11-27 09:13:40

标签: php mysql

示例表结构

表1

ID      |    Name    |  Price
-----------------------------
1       |   Casio    |  30
2       |   Titan    |  40

表2

ID      |    Place   |  Price
-----------------------------
1       |   Cali    |  30 

2       |   Mexi    |  10

执行的操作:  表1(价格) - 表2(价格)ID = 1

新表1

ID      |    Name    |  Price
-----------------------------
1       |   Casio    |  0
2       |   Titan    |  40

两个表中的ID匹配

2 个答案:

答案 0 :(得分:1)

您应该考虑另一种数据库设计来处理这种情况。

但要回答你的问题,你可以创建一个视图:

create view Differences2 as (
    select t1.id, t1.price - t2.price
    from t1, t2
    where t1.id = t2.id
)

答案 1 :(得分:1)

正如您所说,两个表都有相同的ID列,您可以使用以下查询。

SELECT table1.ID, table1.Name, (table1.Price-table2.Price) AS Price 
FROM table1
INNER JOIN table2 ON table1.ID = table2.ID

如果您想更新记录,可以使用以下内容:

UPDATE table1
    INNER JOIN table2 ON table1.ID = table2.ID
        SET table1.Price = (table1.Price-table2.Price)