sql >> Databasteknik >  >> RDS >> Oracle

Hur sammanfogar man 2 frågor med olika antal poster och kolumner i oracle sql?

För att få det slutgiltiga önskade resultatet ...

... använd en yttre koppling för att binda de uttagna ledighetsposterna till de andra borden. Detta ger noll time_duration för ledighetsformer som arbetstagaren inte tagit ut.

select emp.Employee_ID
       , le.leavetype
       , le.leavebalance 
       , sum (el.Time_Duration) as total_Time_Duration
from employee emp
     inner join leave_eligibility le
          on le.department= emp.department 
             and le.designation= emp.designation 
     left outer join Employee_leave el
           on el.EmployeeID = emp.Employee_ID
           and el.leave_type = le.leavetype        
group by emp.Employee_ID
       , le.leavetype
       , le.leavebalance 
       ;

Ditt omedelbara problem:

Din vy har referenser till en kolumn EID även om ingen av dina upplagda tabeller har en kolumn med det namnet. Likaså finns det förvirring mellan Time_Duration och time_period .

Mer generellt kommer du att uppleva livet betydligt lättare om du använder exakt samma namn för vanliga kolumner (dvs. använd konsekvent antingen employee_id eller employeeid , hugga inte och byt).



  1. Uppdatera flera rader i en kolumn i MySQL

  2. Hur konverterar man oracle hierarkiska frågor till postgresql?

  3. Få rad före och efter en fråga

  4. Java SQL-undantag:Stängd resultatuppsättning:nästa även om varken anslutning eller resultatuppsättning stängs