【问题标题】:add value from different tables and insert total value into another table添加来自不同表的值并将总值插入另一个表
【发布时间】:2014-11-24 22:14:54
【问题描述】:

我有几个表(比如 5 个表),我想从 5 个表中的每一个表中汇总一个特定条目,并将该总和放在一个表中。 示例:

Table_One

product_one_id    name    price
1                 item1   50.25
2                 item2   100.25

Table_Two

product_two_id    name    price
    1             item3   25.25
    2             item4   70.25

Table_Total

product_total_id    name    price_total
    1             total1   120.50    //get total from item1 + item4
    2             total2   125.50   //get total from item2 + item3

这是我的代码:不是正确的语法,而是为了说明我正在尝试做的事情

INSERT INTO Table_Total(product_total_id, name, price_total)
VALUES (1, 'total1', ((select price from Table_One where product_one_id = 1) + (select price from Table_Two where product_two_id = 4));

【问题讨论】:

  • product_one_id = 1product_two_id = 2 有什么关系才能获得price_total
  • @sgeddes 的观点很重要。如果你能定义产品 1 和 2 之间的关系,你想做的事情就很简单了。
  • 我正在建立一个计算机商店数据库。 Product_one_id 是计算机部件的型号,price_total 是总数。所以一个表只有 cpu 部件和它们的价格,另一个有 gpu 部件和它们的价格。一张表有cpu和gpu的总价

标签: sql sql-server sum ssms sql-server-2014


【解决方案1】:

虽然我不完全确定您为什么需要这样做,但这应该使用cross join 来工作,它本质上会产生cartesian product

insert into table_total
select 1, 'total1', t1.price + t2.price
from table_one t1 cross join table_two t2
where t1.table_one_id = 1 
  and t2.table_two_id = 2;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多