update应用,请指教 ( 积分: 100 )

  • 主题发起人 主题发起人 li10
  • 开始时间 开始时间
L

li10

Unregistered / Unconfirmed
GUEST, unregistred user!
表1:cj&nbsp;&nbsp;&nbsp;表2:dj<br>cj&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dj<br>姓名&nbsp;&nbsp;语文(数值)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;姓名&nbsp;&nbsp;语文(字符)<br><br>两表中的学生信息完全一致<br><br>根据c1中的语文成绩段如80以上,60以上&nbsp;&nbsp;给dj表中的语文标上优秀、及格
 
循环CJ表..判断他成绩..更新DJ表呗.用两个ADOQuery就可以了啊.!
 
sqlserver的话,两表关联用case&nbsp;when&nbsp;then
 
若用update的SQL语句如何实现呀,用一名语句,这样可以吗,请大侠们过目!<br>update&nbsp;dj&nbsp;set&nbsp;语文='优秀'&nbsp;where
 
update&nbsp;dj&nbsp;set&nbsp;语文=case&nbsp;&nbsp;when&nbsp;cj.语文&gt;80&nbsp;then&nbsp;'优秀'&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;60&lt;cj.语文&lt;80&nbsp;then&nbsp;'及格'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;cj&nbsp;where&nbsp;cj.姓名=dj.姓名<br><br>没测试现场写的~你自己试下~大概意思就是这个!!
 
UPDATE&nbsp;dj&nbsp;SET&nbsp;dj.姓名=cj.姓名,dj.语文=case&nbsp;cj.语文<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;60&nbsp;Then&nbsp;'及格'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;80&nbsp;Then&nbsp;'优秀'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;''&nbsp;End&nbsp;<br>Where&nbsp;cj.姓名=dj.姓名
 
select&nbsp;姓名&nbsp;,成绩,(case&nbsp;when&nbsp;成绩&gt;=80&nbsp;then&nbsp;'优秀'&nbsp;when&nbsp;成绩&gt;=60&nbsp;and&nbsp;成绩&lt;80)&nbsp;then&nbsp;'及格'&nbsp;)&nbsp;as&nbsp;级别&nbsp;from&nbsp;成绩
 
大侠们呀,我试了,不会呀,给写个完整的吧!<br>&nbsp;&nbsp;&nbsp;with&nbsp;dataM.cj_ADOQuery1&nbsp;do<br>&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql.Clear;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sql.Add('update&nbsp;cjdj1tk&nbsp;A,cj1tk&nbsp;B&nbsp;set&nbsp;A.语文=case&nbsp;B.语文&nbsp;when&nbsp;B.语文&gt;60&nbsp;then&nbsp;&quot;jg&quot;;&nbsp;when&nbsp;B.语文&gt;80&nbsp;then&nbsp;&quot;yx&quot;&nbsp;end;&nbsp;where&nbsp;A.姓名=B.姓名');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;execsql;<br>&nbsp;&nbsp;&nbsp;end;
 
update&nbsp;dj&nbsp;set&nbsp;dj.语文=case&nbsp;when&nbsp;cj.语文&gt;=60&nbsp;then&nbsp;'及格'&nbsp;when&nbsp;cj.语文&gt;=80&nbsp;then&nbsp;'优秀'&nbsp;else&nbsp;''&nbsp;end&nbsp;from&nbsp;cj&nbsp;where&nbsp;dj.姓名=cj.姓名
 
UPDATE&nbsp;dj&nbsp;SET&nbsp;dj.语文=case<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&lt;0&nbsp;Then&nbsp;'分数小于零'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;=0&nbsp;and&nbsp;cj.语文&lt;60&nbsp;Then&nbsp;'不及格'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;=60&nbsp;and&nbsp;cj.语文&lt;80&nbsp;Then&nbsp;'及格'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;=80&nbsp;and&nbsp;cj.语文&lt;=100&nbsp;Then&nbsp;'优秀'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;100&nbsp;Then&nbsp;'分数大于100'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;'错误'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;<br>from&nbsp;cj<br>Where&nbsp;dj.姓名=cj.姓名
 
其实只需要一个成绩表就可以实现,像wyb_506说的那样:(自己写了段代码如下)<br>select&nbsp;姓名,语文成绩,备注=case<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&lt;0&nbsp;Then&nbsp;'分数小于零'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;=0&nbsp;and&nbsp;cj.语文&lt;60&nbsp;Then&nbsp;'不及格'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;=60&nbsp;and&nbsp;cj.语文&lt;80&nbsp;Then&nbsp;'及格'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;=80&nbsp;and&nbsp;cj.语文&lt;=100&nbsp;Then&nbsp;'优秀'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;cj.语文&gt;100&nbsp;Then&nbsp;'分数大于100'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;'错误'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;<br>from&nbsp;成绩表
 
我同意&nbsp;lovedesky&nbsp;的方法
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部