如下帶GROUP的語句,為什麼會出錯?他提示我必須要將fRound放入GROUP BY中,但是我的本意不是這樣的,我只是想將SUM(fDailyPay)結果用ROUND函數截取指定小數位而已……,如果將fRound放入GROUP BY中,結果可想而知將是不正确的!因為我本沒有意思要多個fRound分組啊!天哪~~ DECLARE @fCode VARCHAR(20) SELECT fName,
SUM(fWorkDays) AS fTotalQty,
ROUND(SUM(fDailyPay), fRound) AS fTotalCost
FROM tWorkSheet

WHERE fWorkDays <> 0

GROUP BY fName請高手詳解一解我的迷惑之處,多謝!:(...

解决方案 »

  1.   

    難道真要我讀出數據後,再用代碼來處理ROUND的問題嗎?鬱悶ING
      

  2.   

    --可以这样写select t1.fname,t1.fTotalQty,round(t1.fTotalCost,t2.fTotalCost) as fTotalCost
    from
    (
     SELECT fName,
    SUM(fWorkDays) AS fTotalQty,
    SUM(fDailyPay) AS fTotalCost
    FROM tWorkSheet

    WHERE fWorkDays <> 0

    GROUP BY fName
    )t1,tWorkSheet t2
    where t1.fname = t2.fname
      

  3.   

    THKS!:)搞定了! 不虧是大俠!!!我愛死你了~~~~  *^_^*PS: 我不是玻璃!