Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 汇总不同表中的列_Sql_Sql Server - Fatal编程技术网

Sql 汇总不同表中的列

Sql 汇总不同表中的列,sql,sql-server,Sql,Sql Server,这是我的数据 表1: STORAGE HANDLING TOTAL BILLING -------------------------------------- 1300 10900 0 10950 0 6000 0 5950 表2: LINER REV

这是我的数据

表1:

         STORAGE    HANDLING    TOTAL BILLING 
         -------------------------------------- 
             1300    10900     
                0    10950     
                 0    6000     
                 0    5950     
表2:

 LINER REVENUE 
--------------- 
   1300 
    250 
   3000 
    200 
我需要计算总账单:

总计费=存储+处理+班轮运输收入

有人能帮我查询一下吗。

希望这有帮助

SELECT h.Storage+h.Handling+j.[Liner Revenue] 
         From(SELECT 
               STORAGE
              ,HANDLING
              ,[TOTAL BILLING]
              ,ROW_NUMBER () over(order by rand()) as p
          FROM [Table 1] )h
          INNER JOIN 
          (SELECT 
               [LINER REVENUE]
              ,ROW_NUMBER () over(order by rand()) as p
          FROM [Table 2] )j
          on h.p=j.p

你检查过这个提琴了吗?你应该设置一个标识符和一个外键来将这些数据相互链接,这样你就可以很容易地对它们进行汇总。@Zaynul,我检查过这个提琴,但它在sql server中对我不起作用,我的想法已经用完了。你试过给我们看什么,以便我们可以指导你这里是我试过的另一个提琴,[union语句它正在抛出错误,在join语句中引入了NULL值,但其中一列中有可用的NULL值。它正在抛出错误,因为多部分标识符p。无法绑定Liner Revenue。它是j I更改的。它正在工作,但在更新此总收入时,它在first select附近抛出错误。下面的代码我尝试过,更新[dbo].[FCLOverall]集[Total Revenue]=从选择存储中选择h.Storage+h.Handling+j.[Liner Revenue],从[dbo].[FCLOverall]h内部连接选择中按rand排序的行数超额订购[LINER REVENUE],h.p=j.pEven上的dbo.FCL_Child j中按rand作为p的行数超额订购。尽管此解决方案可能是正确的,但不建议这样做。表中的每一行都应在id上标识并联接,因为行顺序可能会更改。