兩個表.
tb1(五千萬條記錄)
zkzh --准考證號,
th --題號
da --考生答案
tb2(100條記錄)
th --題號
da --標準答案
fs --分數
tb1:zkzh + th 主鍵
tb2:th 主鍵
兩表目前除主鍵無其他
索引.現在問:要得到每個考生每個題所得的分數.
條件 tb1.th = tb2.th and tb1.da = tb2.da
如果才能最快(或者較快)得到結果.
以下是兩鐘方案
方案一:
在tb1,加個字段fs,預設為0
update tb1 set fs = tb2.fs from tb1 , tb2 where tb1.th = tb2.th and tb1.da = tb2.da
方案二:
新建乙個表,tb3 (zkzh , th , da , fs)
insert into tb3 select m.* , case when tb1.da = tb2.da then tb2.fs else 0 end from tb1 , tb2 , where tb1.th = tb2.th
各位觀眾認為那個方案好.或者有更好的其他方案.
推薦大家乙個管理時間的軟體
task coach 是乙個簡單但是實用的時間管理的軟體。現實中,我們坐在電腦前面經常會東搞一下,西搞一下,搞到每天的時間不知道花在那裡去了。或者我們做敏捷開發的時候,使用者測試時候,經常要修補很多小問題,每個小問題花了多少時間?整個測試完成花了多少時間?不知道了吧?那就趕快用用這個工具吧。它可以按...
推薦大家乙個管理時間的軟體
task coach 是乙個簡單但是實用的時間管理的軟體。現實中,我們坐在電腦前面經常會東搞一下,西搞一下,搞到每天的時間不知道花在那裡去了。或者我們做敏捷開發的時候,使用者測試時候,經常要修補很多小問題,每個小問題花了多少時間?整個測試完成花了多少時間?不知道了吧?那就趕快用用這個工具吧。它可以按...
推薦大家乙個管理時間的軟體
task coach 是乙個簡單但是實用的時間管理的軟體。現實中,我們坐在電腦前面經常會東搞一下,西搞一下,搞到每天的時間不知道花在那裡去了。或者我們做敏捷開發的時候,使用者測試時候,經常要修補很多小問題,每個小問題花了多少時間?整個測試完成花了多少時間?不知道了吧?那就趕快用用這個工具吧。它可以按...