【问题标题】:SUM of values from different tables and put into another column来自不同表的值的总和并放入另一列
【发布时间】:2018-10-26 11:32:10
【问题描述】:

我有来自 4 个不同命名的不同表的销售额。前任。人力资源销售、客户销售等。

我需要这样的以下内容。

            Type    Sales   
 ---------------------- 
  Table1    FCL        ?
  Table2    LCL        ?
  Table3    Import     ?
  Table4    Export     ?
           Overall      ?  

我尝试了以下查询,

 INSERT INTO [dbo].[Warehouse_Type] ([Overall Revenue])
 SELECT (SELECT SUM([Amount]) FROM [dbo].[Bond_Overall]) +
(SELECT SUM([Amount]) FROM [dbo].[Export_Overall])+
(SELECT SUM([TOTAL BILLING]) FROM [dbo].[FCL Test]) +
(SELECT SUM([Total Revenue Generated]) FROM [dbo].[LCL_overall])

注意:我的查询给出了来自不同表的值的总和,而我需要总和来更新单个值。前任。在我的查询中,第 1 次选择给出第 1 种类型的总和,第 2 次选择给出第 2 种类型的总和,依此类推。我需要将其类型附加到另一个名为warehouse_type 的表中。

它给出了总体收入及其价值,但没有给出其他类型。

谁能帮我在这个查询中计算和更新每种类型的销售额?

【问题讨论】:

  • 我看不出您的结果与您的查询有什么关系。
  • 这些表之间是什么关系?
  • 我已经添加了我的查询的作用。

标签: sql sql-server


【解决方案1】:

首先进行销售联合:

(SELECT 'Import' As Type, SUM([Amount]) FROM [dbo].[Bond_Overall])
Union All
(SELECT 'Export' As Type, SUM([Amount]) FROM [dbo].[Export_Overall])
Union All
(SELECT 'FCL' As Type, SUM([TOTAL BILLING]) FROM [dbo].[FCL Test])
Union All
(SELECT 'LCL' As Type, SUM([Total Revenue Generated]) FROM [dbo].[LCL_overall])

如果要插入:

INSERT INTO [dbo].[Warehouse_Type](Type, Sales) ([Overall Revenue])
Select From (
(SELECT 'Import', SUM([Amount]) FROM [dbo].[Bond_Overall])
Union All
(SELECT 'Export', SUM([Amount]) FROM [dbo].[Export_Overall])
Union All
(SELECT 'FCL', SUM([TOTAL BILLING]) FROM [dbo].[FCL Test])
Union All
(SELECT 'LCL', SUM([Total Revenue Generated]) FROM [dbo].[LCL_overall])) As D

也许子选择不是必需的。

【讨论】:

    【解决方案2】:

    类似的东西

    ;WITH CTE AS
    (
      SELECT 'FCL' [Type], SUM(Col) Sales
      FROM Table1
      UNION
      SELECT 'LCL', SUM(Col)
      FROM Table2
      UNION
      SELECT 'Import', SUM(Col)
      FROM Table3
      UNION
      SELECT 'Export', SUM(Col)
      FROM Table4
    )
    SELECT * 
    FROM CTE
    UNION
    SELECT 'Overall', SUM(Sales)
    FROM CTE;
    

    如果你想将值插入到你的表中,那么

    INSERT INTO [dbo].[Warehouse_Type] ([Overall Revenue])
    SELECT Sales
    FROM CTE
    UNION
    SELECT SUM(Salse)
    FROM CTE; 
    

    不插入Type不知道有什么需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 2018-04-21
      • 1970-01-01
      • 2011-11-07
      • 2021-06-25
      • 1970-01-01
      • 2015-09-22
      相关资源
      最近更新 更多