Sql 汇总不同表中的列
这是我的数据 表1:Sql 汇总不同表中的列,sql,sql-server,Sql,Sql Server,这是我的数据 表1: STORAGE HANDLING TOTAL BILLING -------------------------------------- 1300 10900 0 10950 0 6000 0 5950 表2: LINER REV
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上标识并联接,因为行顺序可能会更改。