0

私はスーパーバイザーテーブルを持っており、勤務日数=5です.欠勤テーブルもあります.今、2つのテーブルから現在の日数を計算します.これを取得する方法.

 SupList    WorkDays
    101         5
    102         5
    103         5
    104         5
    105         5
 Suplist   AbsentDays
    101         2
    103         1

今はこれを手に入れたい

Suplist      PresentDays
101         3
102         5
103         4
104         5
105         5
4

4 に答える 4

1
Select s.Suplist , (s.workDays - isnull(a.absentDays,0)) as PresentDays
from supervisertable s
left join absentTable a
on s.suplist=a.suplist

SQL フィドル

于 2013-05-15T05:55:53.443 に答える
0

人が欠席していない場合、現在の日数を提供できるように、外部結合が必要だと思います。

Select s.Suplist , (s.workDays - nvl(a.absentDays,0)) as PresentDays
from supervisortable s
left outer join absentTable a
on s.suplist=a.suplist
于 2013-05-15T05:58:42.313 に答える
0

してみてください:

select 
    a.SupList, 
    a.WorkDays-isnull(b.AbsentDays,0) PresentDays
from 
    Supervisor a LEFT JOIN Absent b on a.SupList=b.Suplist
于 2013-05-15T06:00:10.250 に答える
0

次のクエリを参照してください。

select p.Suplist,(p.WorkDays-a.AbsentDays) as PresentDays 
from presentTable p,absentTable a 
where p.Suplist=a.Suplist
于 2013-05-15T05:58:11.927 に答える