For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!
Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.
Table A col1 col2 1 10 1 10 1 10 Table b Col1 col2 1 20 Desired output: a.col1 sum(a.col2),sum(b.col2) 1 30 20
SELECT a.col1, SUM (col2), MIN (b.rec) FROM Tablea a, (SELECT col1, SUM (col2) rec FROM tableb GROUP BY col1) b WHERE a.col1 = b.col1 GROUP BY a.col1
WITH A AS (SELECT 1 COL1, 10 COL2 FROM DUAL UNION ALL SELECT 1 COL1, 10 COL2 FROM DUAL UNION ALL SELECT 1 COL1, 10 COL2 FROM DUAL UNION ALL SELECT 2 COL1, 40 COL2 FROM DUAL ) ,B AS (SELECT 1 COL1, 10 COL2 FROM DUAL UNION ALL SELECT 1 COL1, 10 COL2 FROM DUAL UNION ALL SELECT 2 COL1, 50 COL2 FROM DUAL UNION ALL SELECT 2 COL1, 50 COL2 FROM DUAL ) --Creating smaple data SELECT DISTINCT A.COL1,(SELECT SUM(A.COL2)FROM A WHERE A.COL1=B.COL1)SUM_A, (SELECT SUM(B.COL2)FROM B WHERE A.COL1=B.COL1) SUM_B FROM A,B WHERE A.COL1=B.COL1
SQL> WITH A AS (SELECT 1 col1, 10 col2 FROM DUAL UNION ALL 2 SELECT 1 col1, 10 col2 FROM DUAL UNION ALL 3 SELECT 1 col1, 10 col2 FROM DUAL UNION ALL 4 SELECT 2 col1, 40 col2 FROM DUAL UNION ALL 5 SELECT 4 col1, 140 col2 FROM DUAL), 6 B AS (SELECT 1 col1, 10 col2 FROM DUAL UNION ALL 7 SELECT 1 col1, 10 col2 FROM DUAL UNION ALL 8 SELECT 2 col1, 50 col2 FROM DUAL UNION ALL 9 SELECT 2 col1, 50 col2 FROM DUAL UNION ALL 10 SELECT 3 col1, 150 col2 FROM DUAL) 11 -- End of sample data 12 SELECT NVL(s_a.col1, s_b.col1) AS col1, sum_a, sum_b 13 FROM (SELECT col1, SUM(col2) AS sum_a 14 FROM a 15 GROUP BY col1) s_a 16 FULL OUTER JOIN 17 (SELECT col1, SUM(col2) AS sum_b 18 FROM b 19 GROUP BY col1) s_b ON s_a.col1 = s_b.col1 20 ORDER BY 1; COL1 SUM_A SUM_B ---------- ---------- ---------- 1 30 20 2 40 100 3 150 4 140
WITH A AS (SELECT 1 col1, 10 col2 FROM DUAL UNION ALL SELECT 1 col1, 10 col2 FROM DUAL UNION ALL SELECT 1 col1, 10 col2 FROM DUAL UNION ALL SELECT 2 col1, 40 col2 FROM DUAL UNION ALL SELECT 4 col1, 140 col2 FROM DUAL), B AS (SELECT 1 col1, 10 col2 FROM DUAL UNION ALL SELECT 1 col1, 10 col2 FROM DUAL UNION ALL SELECT 2 col1, 50 col2 FROM DUAL UNION ALL SELECT 2 col1, 50 col2 FROM DUAL UNION ALL SELECT 3 col1, 150 col2 FROM DUAL) select col1,sum(aVal),sum(bval) from (select col1,col2 as aVal,to_number(null) as bVal from a union all select col1,to_number(null),col2 from b) group by col1 order by col1; COL1 SUM(AVAL) SUM(BVAL) ---- --------- --------- 1 30 20 2 40 100 3 null 150 4 140 null