从2个不同的表中得到SUM到一个结果

问题描述:

我一直试图让这个工作12小时,我不能:-(有人可以告诉我如何可以得到ssnumber分组,并获得每个ssnumber从2个不同的表中得到SUM到一个结果

这是我现在已经在表1号我有这样的代码

SELECT 
    UNIT_NO, SUM(RATEB) AS TOTALRTE 
FROM TABLE1 
WHERE 
    TRUCK_PAID = 1 
    AND PICK_UP_DATE >= '(fromdate)' 
    AND PICK_UP_DATE <= '(todate)' 
GROUP BY 
    UNIT_NO 
ORDER BY 
    UNIT_NO 

但表2号是在ssnumber列,所以我想要做的就是rateB总和来自每个unit_no的所有负载,然后对它们进行分组,然后进入表号2并将ssnumber与来自表号1的单元号进行分组,从表数求和rateB 1.

像这样(见下文),但它不工作:-(

SELECT 
    UNIT_NO, SUM(RATEB) 
FROM 
    TABLE1 
WHERE 
    TRUCK_PAID = 1 
    AND PICK_UP_DATE >= '(fromdate)' 
    AND PICK_UP_DATE <= '(todate)' 
GROUP BY 
    UNIT_NO 
JOIN 
    TABLE TABLE1.UNIT_NO = TABLE2.UNIT_NO GROUP BY TABLE2.SS_NUM 

SELECT 
    UNIT_NO, SUM(RATEB) AS TOTALRATE 
FROM 
    TABLE1 
GROUP BY 
    UNIT_NO 
JOIN 
    TRUCKS ON (TABLE1.UNIT_NO = TABLE2.UNIT_NO) 
GROUP BY 
    TABLE2.SSNUMBER 

谢谢你们这么多的帮助。 ..

+0

什么是表2?你能否显示你的表格结构和样品数据,以及所需的输出? – JNK

+0

我试图通过将字段Unit_No分组并获得来自名为rateb的字段的总数(总和)来从table1获得总数(总和),然后我想进入table2并使Unit_No与表2中的Unit_No字段匹配然后按ss_Num字段 – compcobalt

+0

对结果进行分组,以便t​​able1和table2都具有字段名称Unit_No我只是想要加入?然后在一起,这样我就可以按ss_num对它们进行分组并获得总数(总和),而不是通过table1中的Unit_No – compcobalt

根据要求,很难真正理解你想要完成什么,而没有关于table2的更多信息,也许是你期待的一个例子。然而,我从你的描述中得到的结果是你正在试图完成这样的事情?

SELECT UNIT_NO, TOTALRTE, TOTALLDSRTE 
FROM 
(
    SELECT UNIT_NO,SUM(RATEB) AS TOTALRTE 
    FROM LOADS 
    GROUP BY UNIT_NO 
) AS tbl1 
JOIN 
(
    SELECT SS_NUM, SUM(RATEB) AS TOTALLDSRTE 
    FROM LOADS 
    GROUP BY SS_NUM 
) AS tbl2 
    ON tbl1.UNIT_NO = tbl2.SS_NUM 
+0

我想按unit_no进行分组,并获得名为rateb的字段中的总和(总和)。在表2我想按ss_number分组,然后以某种方式加入? table1通过unit_no,然后输出按ss_number – compcobalt

+0

分组的结果(如下所示),但它不起作用:-(SELECT UNIT_NO,SUM(RATEB)AS TOTALRATE FROM TABLE1 GROUP BY UNIT_NO JOIN TRUCKS ON(TABLE1。 UNIT_NO = TABLE2.UNIT_NO)GROUP BY TABLE2.SSNUMBER – compcobalt

+1

所以,你想要的是加入他们的行列,似乎然后,只需加入您的分组: SELECT UNIT_NO,SUM(RATEB)AS TOTALRATE FROM表1 JOIN的卡车(TABLE1 .UNIT_NO = TABLE2.UNIT_NO) GROUP BY UNIT_NO,TABLE2.SSNUMBER 如果这是不正确的,那么我认为使用数据的一个快速示例将是最好的 –

我会建议,而不是在一个选择查询,从两个选择查询中获取数据,试图把它们取为单独的查询。这节省了很多时间。也就是说,您可以为结果创建一个表并将每个查询的结果更新到表中。