select i.維修人員,i.接單數,i.保固內,i.保固外,i.已完修數,j.已退修數 from (
select g.維修人員,g.接單數,g.保固內,g.保固外,h.已完修數 from (
select e.維修人員,e.接單數,e.保固內,f.保固外 from (
select c. 維修人員,c.接單數,d.保固內 from (
select a.維修人員 維修人員,b.接單數 from (
select MECHANIC_NAME 維修人員 from WO
group by MECHANIC_NAME
)A Left join (
select MECHANIC_NAME 維修人員,count(*) 接單數 from WO
group by MECHANIC_NAME
)B ON (A.維修人員 = b.維修人員)
--需確認 ASSET.HAVEWARRANTY=1 (保內還是外)
)C left join (
select wo.MECHANIC_NAME 維修人員,count(ASSET.HAVEWARRANTY) 保固內 from ASSET
join wo on (wo.ASSET_ID = ASSET.ASSET_ID)
where ASSET.HAVEWARRANTY = 1
group by wo.MECHANIC_NAME
)D on (c.維修人員 = d.維修人員)
)e left join (
select wo.MECHANIC_NAME 維修人員,count(ASSET.HAVEWARRANTY) 保固外 from ASSET
join wo on (wo.ASSET_ID = ASSET.ASSET_ID)
where ASSET.HAVEWARRANTY = 0
group by wo.MECHANIC_NAME
)f on (e.維修人員 = f.維修人員)
)g left join (
select wo.MECHANIC_NAME 維修人員,count(wo.STATE_NAME) 已完修數 from WO
where wo.STATE_NAME like N'%已完修%'
group by MECHANIC_NAME
)h on (g.維修人員 = h.維修人員)
)i full join (
select wo.MECHANIC_NAME 維修人員,count(wo.STATE_NAME) 已退修數 from WO
where wo.STATE_NAME like N'%已退修%'
group by MECHANIC_NAME
)j on (i.維修人員 = j.維修人員)
需新增
完成率=已完修數/(接單數-已退修數)
請教各位大神語法該如何下?
第一行 增加一個欄位做運算即可
select i.維修人員,i.接單數,i.保固內,i.保固外,i.已完修數,j.已退修數 , convert(float,i.已完修數)/(convert(float,i.接單數)-convert(float,j.已退修數)) as 完成率
from (......
感謝回復請問算出來的結果如何換算成百分比
--工作表四-0606
select i.維修人員,i.接單數,i.保固內,i.保固外,i.已完修數,i.已退修數,convert(float,i.已完修數)/(convert(float,i.接單數)-convert(float,j.已退修數))as 完成率 from (
select i.維修人員,i.接單數,i.保固內,i.保固外,i.已完修數,j.已退修數 from (
select g.維修人員,g.接單數,g.保固內,g.保固外,h.已完修數 from (
select e.維修人員,e.接單數,e.保固內,f.保固外 from (
select c. 維修人員,c.接單數,d.保固內 from (
select a.維修人員 維修人員,b.接單數 from (
select MECHANIC_NAME 維修人員 from WO
group by MECHANIC_NAME
)A Left join (
select wo.MECHANIC_NAME 維修人員,count(*) 接單數 from WO
group by MECHANIC_NAME
)B ON (A.維修人員 = b.維修人員)
--需確認 ASSET.HAVEWARRANTY=1 (保內還是外)
)C left join (
select wo.MECHANIC_NAME 維修人員,count(ASSET.HAVEWARRANTY) 保固內 from ASSET
join wo on (wo.ASSET_ID = ASSET.ASSET_ID)
where ASSET.HAVEWARRANTY = 1
group by wo.MECHANIC_NAME
)D on (c.維修人員 = d.維修人員)
)e left join (
select wo.MECHANIC_NAME 維修人員,count(ASSET.HAVEWARRANTY) 保固外 from ASSET
join wo on (wo.ASSET_ID = ASSET.ASSET_ID)
where ASSET.HAVEWARRANTY = 0
group by wo.MECHANIC_NAME
)f on (e.維修人員 = f.維修人員)
)g left join (
select wo.MECHANIC_NAME 維修人員,count(wo.STATE_NAME) 已完修數 from WO
where wo.STATE_NAME like N'%已完修%'
group by MECHANIC_NAME
)h on (g.維修人員 = h.維修人員)
)i left join (
select wo.MECHANIC_NAME 維修人員,count(wo.STATE_NAME) 已退修數 from WO
where wo.STATE_NAME like N'%已退修%'
group by MECHANIC_NAME
)j on (i.維修人員 = j.維修人員)
)i left join (
select wo.MECHANIC_NAME 維修人員,count(wo.STATE_NAME) 已退修數 from WO
where wo.STATE_NAME like N'%已退修%'
group by MECHANIC_NAME
)j on (i.維修人員 = j.維修人員)