日期:2014-05-18  浏览次数:20487 次

有關SQL計算公司餐費問題 急
兩個表
表名:hid
字段:工號,姓名,部門名稱,刷卡次數,每次消費費用

表名:sa
字段:工號,姓名,職等

要求:計算當月的消費總數
字段為   工號   姓名   部門名稱   消費總數
注:中餐與晚餐,消夜(職等> =3的每頓三塊,其余的為2.5塊)   早餐1塊
      刷卡次數包含了早   中   晚   夜的刷卡紀錄
請高手幫忙,急!

------解决方案--------------------
select hid.[工號],hid.[姓名] hid.[部門名稱],
[消費總數]=sum(case when sa. 職等> =3 and 刷卡次數 in( '中 ', '晚 ', '夜 ')
then 3 when sa. 職等 <3 and 刷卡次數 in( '中 ', '晚 ', '夜 ') then 2.5 else 1 end)--这里的 1为早餐
from hid join sa on hid.工號=sa.工號 and hid.姓名=sa.姓名
group by hid.[工號],hid.[姓名] hid.[部門名稱]

------解决方案--------------------
Select a.[工號],a.[姓名], a.[部門名稱],
[消費總數]=sum(Case when (sa.職等> =3) and (a.每次消費費用=2.5)
then 3 else a.每次消費費用 end)
from hid as a join sa on a.工號=sa.工號
group by a.[工號],a.[姓名] ,a.[部門名稱]