[SQL ] 關於子查詢的用法
我用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
→
11/01 23:20, , 1F
11/01 23:20, 1F
→
11/02 00:04, , 2F
11/02 00:04, 2F
→
11/02 01:13, , 3F
11/02 01:13, 3F
→
11/02 10:01, , 4F
11/02 10:01, 4F
※ 編輯: yuchia69 來自: 140.118.99.140 (11/02 11:33)