Problem:
In Oracle, how does one combine two tables with different rows into one table?
SQL:
Select s. stagename sname,
Sum (nworkhours) nworkhours,
Sum (OVERHOURS) OVERHOURS,
Sum (nworkhours + OVERHOURS)
From T_WorkDetails w,
T_stage s
Where w. stageid = s. stageid and w. projectid = 'd0927380468f4a4ee04010ac0c051f15'
Group by s. stagename
ORDER by s. stagename
Shown:
The second SQL statement is:
Select sum (total) as temptal from (select s. stagename sname,
Sum (nworkhours) nworkhours,
Sum (OVERHOURS) OVERHOURS,
Sum (nworkhours + OVERHOURS) total
From T_WorkDetails w,
T_stage s
Where w. stageid = s. stageid and w. projectid = 'd0927380468f4a4ee04010ac0c051f15'
Group by s. stagename
ORDER by s. stagename)
Shown:
The result to be displayed is:
Core Idea: select * from (Table A, Table B)
The overall SQL statement is as follows:
Select * from (select s. stagename sname,
Sum (nworkhours) nworkhours,
Sum (OVERHOURS) OVERHOURS,
Sum (nworkhours + OVERHOURS)
From T_WorkDetails w,
T_stage s
Where w. stageid = s. stageid and w. projectid = 'd0927380468f4a4ee04010ac0c051f15'
Group by s. stagename
ORDER by s. stagename) t1,
(Select sum (total) as temptal from (select s. stagename sname,
Sum (nworkhours) nworkhours,
Sum (OVERHOURS) OVERHOURS,
Sum (nworkhours + OVERHOURS) total
From T_WorkDetails w,
T_stage s
Where w. stageid = s. stageid and w. projectid = 'd0927380468f4a4ee04010ac0c051f15'
Group by s. stagename
ORDER by s. stagename) t2)
Note: If the number of rows is small, the table automatically matches the table with the number of rows.