看板 Database 關於我們 聯絡資訊
我用SQL2000 SP4 我要把課碼A00中最低分加到60 其他人依最低分所加的分數加分 (例外: 分數破100 最低分>60 都不管 ) EX: 最低分42分 也就是全班加18分 目前我的作法是用2句 (先找出最低分 然後全部加分) select min(成績) from class where 課碼='A00' select 成績+(60-最低分) from class where 課碼='A00' 如果要把上面2句合併 應該就要用到子查詢 但是 最低分 我用 min(成績) 或用 第一句 都會產生語法錯誤 "資料行 'class.成績' 在選取清單中無效, 因為它並未包含在彙總函數或 GROUP BY 子句中。" 可是依他的提示用group by 能用的只有 成績 或 課碼 或 學號 答案都不是正確 (有group到學號+課碼時 min(成績)=成績 ) --用推文有限制 用編輯來回好了-- 因為在程式上 我用"group by 課碼" 把每科的最低分都拿回來 但是用 where 課碼='A00' 的確是正常 這邊應該沒辦法分別對每科成績同時做計算 只能利用where來分別對每科計算 如果有能同時計算的方式 希望各位大大能分享 感謝 ^^ 另外 欄位名是英文 用中文只是版上方便閱讀! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.112.62
yuchia69:所以用子查詢要如何合併 或是用其他方法可以做出? 11/01 23:20
grence:如果欄位名稱是中文,欄位用[]括起來試試 min([成績]) 11/02 00:04
Antzzz:可以寫一下怎麼用的嗎?應該直接將第一句塞進第二句即可 11/02 01:13
yuchia69:感謝回答 我知道我錯哪邊了 第一句放進去就解出 冏 11/02 10:01
※ 編輯: yuchia69 來自: 140.118.99.140 (11/02 11:33)