update tb set c=a+b

本文介绍了一种使用SQL进行多表联合更新的方法。通过LEFT JOIN连接多个表,并展示如何在一个UPDATE语句中同时更新主表和关联表的数据。
Update  a set  a.Manage_FunctID=b.Manage_FunctID
 
From  Manage_PageUrl a
 
Left  join  Manage_ButtonBar b on  a.Manage_PageUrlID=b.Manage_PageUrlID
 
Left  join  Manage_Funct c on  b.Manage_FunctID=c.Manage_FunctID
多表联合修改

http://www.cnblogs.com/21xz/archive/2011/09/21/2183066.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!--#Include file="include/db.inc"--> <% '============================================================================= ' *检验是否没有从登陆页面登陆而非法浸入* '----------------------------------------------------------------------------- if Session("in_employee")="" then Response.Redirect("index.asp") end if %> <% employee_no=session("in_employee") passwd=session("in_passwd") Y=year(Now()) M=month(Now()) D=day(Now()) TM=Time() if M<10 then M="0"&M else M=M end if if D<10 then D="0"&D else D=D end if start_time=Y&"-"&M&"-"&D&" "&TM ' response.write "start_time=" & start_time & "<br>" session("b_time")=start_time kt1sql="select * from MFG_TB_TRAINING_TEST_TIME" set kt1rs=conn.execute(kt1sql) 'response.write"kt1sql="&kt1sql&"<br>" st_time=kt1rs("eTime") function sqlstr(data) sqlstr="'" & replace(data,"'","''") & "'" end function %> <!============================================================================== *生成动态时间,包括时间到自动跳回index页面* -------------------------------------------------------------------------------> <script language="javascript"> hours=0; minutes=0; seconds=0; flag=0; setTimeout("update()",1000); function autosubmit() {document.form1.submit();} function update(){ now = new Date(); hours=now.getHours(); minutes=now.getMinutes(); seconds=now.getSeconds(); if(hours<10) hours="0"+now.getHours(); else hours=now.getHours(); if(minutes<10) minutes="0"+now.getMinutes(); else minutes=now.getMinutes(); if(seconds<10) seconds="0"+now.getSeconds(); else seconds=now.getSeconds(); myclock=hours+":"+minutes+":"+seconds if (myclock>"<%=st_time%>") location.replace ("ks_skip.asp"); if(document.layers) { document.layers.liveclock.document.write(myclock) liveclock.document.write(myclock) document.layers.liveclock.document.close() } else if(document.all) liveclock.innerHTML=myclock setTimeout("update()",1000); } </script> <html> <head> <title>New MA考试科目列表</title> <link href="images/cssexamin.css" rel="stylesheet" type="text/css"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head> <script language="JavaScript"> function newwin(url) { var newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=600"); newwin.focus(); return false; } </script> <% '=============================================================================== ' *从User表单抓出用户名子,并存入Session* '------------------------------------------------------------------------------- consql1="select * from MFG_TB_TRAINING_TEST_TIME" set conrs1=conn.execute(consql1) sql="select * from MFG_TB_TRAINING_USER where employee_no='"&employee_no&"' and password='"&passwd&"'" Set rs=conn.execute(sql) 'response.write"sql="&sql&"<br>" ks_name=rs("name") ks_title=rs("title") ks_sect=Ucase(rs("sect")) if ks_sect="GETCH" THEN ks_sect="ETCH" elseif ks_sect="GTF" THEN ks_sect="TF" end if if not rs.eof then session("in_name")=ks_name session("in_emptype")=ks_title else end if rs.close set rs = nothing %> <body class="banquan" background="images/11-07.gif"> <div id="layerinfo" align="center" style="position:absolute; width:100%; height:100%; z-index:3; left: 0px; top: 25px;"> <span id="liveclock" style="width:1335px; color:red; position:absolute; top:22px"></span> <% session("N_eTime")=now() '================================================================================= ' *显示用户基本信息,动态时间* '--------------------------------------------------------------------------------- response.write "<table class='banquan' width=640 height='60' border='0' cellpadding='0' cellpadding='0' align='center' background='images/km_background.jpg'>" response.write "<tr><td align='right'>" response.write "<table class='banquan' border='0' align='right'>" response.write "<tr><td align='right'><b><font color='black' size='2' face='宋体'>Hi,</font></td>" response.write "<td align='left'><b><font color='black' size='2' face='宋体'>" & ks_name & "</font></td>" response.write "<td align='left'><b><font color='black' size='2' face='宋体'>(</font></td>" response.write "<td align='left'><b><font color='black' size='2' face='宋体'>" & employee_no & "</font></td>" response.write "<td align='left'><b><font color='black' size='2' face='宋体'>)</font></td>" response.write "<td align='left'><b><font color='black' size='2' face='宋体'>您好!</font></td>" response.write "<td align='left'><b><font color='black' size='2' face='宋体'>当前时间:</font></td></tr></table></td></tr></table>" response.write "<br>" response.write "<table class='banquan' width=450 border='0' cellpadding='0' cellpadding='0' align='center'>" response.write "<tr><td align='center'><b><font color='#018ec6' size='4' face='宋体'>-- MA考试科目一览表 --</font></td></tr></table>" response.write "<br>" '=================================================================================== ' *从Mapping数据库中抓出指定要考试的科目* '----------------------------------------------------------------------------------- response.write "<table class='banquan' bgcolor='#018ec6' width=1200 border='2' cellpadding='0' cellpadding='1' align='center' bgcolor='#6665ff' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr><td width='8%' align='center'><b><font color='white' size='2' face='宋体'>考试类型</font></td>" response.write "<td width='7%' align='center'><b><font color='white' size='2' face='宋体'>考试阶段</font></td>" response.write "<td width='34%' align='center'><b><font color='white' size='2' face='宋体'>考试科目</font></td>" response.write "<td width='8%' align='center'><b><font color='white' size='2' face='宋体'>考试状况</font></td>" response.write "<td width='8%' align='center'><b><font color='white' size='2' face='宋体'>考试分数</font></td>" response.write "<td width='15%' align='center'><b><font color='white' size='2' face='宋体'>考试时间</font></td>" response.write "<td width='15%' align='center'><b><font color='white' size='2' face='宋体'>补考日期</font></td>" response.write "<td width='5%' align='center'><b><font color='white' size='2' face='宋体'>课件</font></td></tr></table>" '抓出user需考的课程 sql4 =" SELECT * FROM mfg_tb_newtraining_final_result WHERE group_name='Basic' AND wr_certify=0 AND empno='"&employee_no&"' " set rs4=conn.execute(sql4) if not (rs4.eof) then Condition1=" AND A.group_name='Basic' " else sql5 =" SELECT * FROM mfg_tb_newtraining_final_result WHERE group_name='Compulsory' AND wr_certify=0 AND empno='"&employee_no&"' " set rs5=conn.execute(sql5) if not (rs5.eof) then Condition1=" AND A.group_name IN ('Basic','Compulsory') " else Condition1=" " end if rs5.close set rs5 = nothing end if rs4.close set rs4 = nothing 'response.write"Condition1========="&Condition1&"<br>" sql1=" SELECT CASE WHEN group_name='Basic' THEN 1 WHEN group_name='Compulsory' THEN 2 WHEN certifygroup_type='Main Group' THEN 3 ELSE 4 END sn, a.* FROM ( "_ &" SELECT A.course_id, '笔试' certify_type, CASE WHEN A.group_name='Basic' THEN '新人训' WHEN A.group_name='Compulsory' THEN '部门必修' "_ &" WHEN A.group_name NOT IN ('Basic','Compulsory') AND certifygroup_type='Main Group' THEN '本岗位' ELSE '跨岗位' END course_group, "_ &" A.group_name, course_name, course_type, certifygroup_type, wr_certify, op_certify, materialurl, 'wr' question_type "_ &" FROM mfg_tb_newtraining_final_result A, mfg_tb_newtraining_course B WHERE A.course_id=B.course_id AND status=0 and B.group_name <> 'Safe' AND empno='"&employee_no&"' "&Condition1&" ) a ORDER BY sn, course_name, certify_type " 'response.write"Condition1========="&sql1&"<br>" set rs1=conn.execute(sql1) while not(rs1.eof) course_id=rs1("course_id") certify_type=rs1("certify_type") course_group=rs1("course_group") group_name=rs1("group_name") course_name=rs1("course_name") course_type=rs1("course_type") certifygroup_type=rs1("certifygroup_type") wr_certify=rs1("wr_certify") op_certify=rs1("op_certify") materialurl=rs1("materialurl") question_type=rs1("question_type") ' response.write"wr_certify===="&wr_certify&"<br>" '抓出user考过的课程考试次数和最后一次考试时间 sql2 =" SELECT To_Char(max(To_Date(end_time,'yyyy-mm-dd hh24:mi:ss')),'yyyy-mm-dd hh24:mi:ss') as end_time, count(end_time) ks_count FROM mfg_tb_newtraining_score "_ &" WHERE examiner='"&employee_no&"' and course_id='"&course_id&"' and question_type='"&question_type&"' and wr_flag=1 " set rs2=conn.execute(sql2) 'response.write"wr_certify===="&sql2&"<br>" if not (rs2.eof or IsNull(rs2("end_time"))) then end_time=rs2("end_time") ks_count=rs2("ks_count") 'response.write"end_time===="&end_time&"<br>" '课程如果有考试记录抓出得分 sql3=" SELECT final_score FROM mfg_tb_newtraining_score WHERE examiner='"&employee_no&"' and course_id='"&course_id&"' and question_type='"&question_type&"' "_ &" and wr_flag=1 and To_Char(To_Date(end_time,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')='"&end_time&"' " set rs3=conn.execute(sql3) final_score=rs3("final_score") rs3.close set rs3 = nothing ' response.write"final_score===="&final_score&"<br>" else end_time=NULL ks_count="N/A" end if rs2.close set rs2 = nothing '成绩为1显示已考过,为0显示需补考 if cInt(wr_certify)=cInt(1) then sql5 = " SELECT * FROM certify_tb_item_mapping WHERE pesuper IS NOT NULL AND item = '"&course_name&"' " set rs5 = conn.execute(sql5) If Not rs5.EOF Then ' ========== 新增:查询该课程的操作考状态与最高分 ========== Dim op_passed, op_max_score op_passed = False op_max_score = "N/A" ' 查询是否已通过操作考(STATUS='Y' 或 SCORE>=60) sql_op = "SELECT MAX(SCORE) AS max_score FROM certify_od_rating_list " & _ "WHERE EMPLOYEE_ID = " & sqlstr(employee_no) & " " & _ "AND COURSE_ID = " & sqlstr(course_id) & " " & _ "AND (STATUS = 'Y' OR SCORE >= 60)" Set rs_op = conn.Execute(sql_op) If Not rs_op.EOF And Not IsNull(rs_op("max_score")) Then op_passed = True op_max_score = FormatNumber(rs_op("max_score"), 1) End If rs_op.Close : Set rs_op = Nothing ' ======================================================== ' 构造操作考按钮或状态文本 Dim opText If op_passed Then opText = "<span style='background:yellow; padding:2px 6px; font-weight:bold;'>✔ 已通过</span>" Else opText = "<a href='javascript:void(0);' onclick=""openOpExam('" & course_id & "')"" style='color:green;'>操作考</a>" End If ' ========== 输出表格(新增两列)========== response.write "<table class='banquan' width=1300 border='2' cellpadding='0' cellspacing='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'> " & course_name & "</font></b></td>" response.write "<td width='8%' align='center'><b><font size='2' color='green' face='宋体'>100</font></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>" & end_time & "</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" ' === 新增两列:操作考状态 + 成绩 === response.write "<td width='8%' align='center'><b>" & opText & "</b></td>" ' 操作考状态 response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & op_max_score & "</font></b></td>" ' 操作考成绩 response.write "<td width='5%' align='center'><b><font size='2' face='宋体'><a href='" & materialurl & "' target='_blank'>课件</a></b></td>" response.write "</tr></table>" Else ' 不是操作考 → 正常显示“已考过” If course_group = "跨岗位" Then response.write "<table class='banquan' width=1200 border='2' cellpadding='0' cellspacing='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'> " & course_name & "</font></b></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>已考过</font></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='5%' align='center'>" response.write "<a href='" & materialurl & "' target='_blank'>课件</a><br>" response.write "</td></tr></table>" Else response.write "<table class='banquan' width=1200 border='2' cellpadding='0' cellspacing='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr><td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'> " & course_name & "</font></b></td>" response.write "<td width='8%' align='center'><b><font size='2' color='blue' face='宋体'>已考过</font></td>" response.write "<td width='8%' align='center'><b><font size='2' color='blue' face='宋体'>100</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>" & end_time & "</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='5%' align='center'><b><font size='2' face='宋体'><a href='" & materialurl & "' target='_blank'>课件</a></b></td></tr></table>" End If End If ' 清理 rs5 rs5.Close Set rs5 = Nothing else if IsNull(end_time) then If course_group = "跨岗位" Then response.write "<table class='banquan' width=1200 border='2' cellpadding='0' cellpadding='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'> " & course_name & "</font></b></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>未考试</font></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='5%' align='center'>" response.write "<a href=""javascript:void(0);"" onclick=""openCourseware('" & materialurl & "', '" & course_id & "')"">课件</a><br>" response.write "</tr></table>" Else '课程如果没有考试记录显示未考试 response.write "<table class='banquan' width=1200 border='2' cellpadding='0' cellpadding='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr><td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" if question_type<>"op" then response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'><a href='examination.asp?course_id="&course_id&"&question_type="&question_type&"' >" & "  " & course_name & "</font></b></td>" else response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'><a href='examination.asp?course_id="&course_id&"&question_type="&question_type&"' >" & "  " & course_name & "</font></b></td>" end if response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>未考试</font></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<a>课件</font></td></tr></table>" end if else If course_group = "跨岗位" Then response.write "<table class='banquan' width=1200 border='2' cellpadding='0' cellpadding='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'> " & course_name & "</font></b></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>需补考</font></td>" response.write "<td width='8%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<td width='5%' align='center'>" response.write "<a>课件</a><br>" response.write "</tr></table>" Else response.write "<table class='banquan' width=1200 border='2' cellpadding='0' cellpadding='1' align='center' bordercolordark='#ecf5ff' bordercolorlight='#6699cc'>" response.write "<tr><td width='8%' align='center'><b><font size='2' face='宋体'>" & course_group & "</font></td>" response.write "<td width='7%' align='center'><b><font size='2' face='宋体'>" & certify_type & "</font></td>" if question_type<>"op" then response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'><a href='examination.asp?course_id="&course_id&"&question_type="&question_type&"' onclick=""return Onkao('" & end_time & "')"">" & "  " & course_name & "</font></b></td>" else response.write "<td width='34%' align='left'><b><font size='2' face='宋体'><img src='images/104.gif' width='13' height='16' border='0'><a href='examination.asp?course_id="&course_id&"&question_type="&question_type&"' onclick=""return Onkao('" & end_time & "')"" >" & "  " & course_name & "</font></b></td>" end if response.write "<td width='8%' align='center'><b><font size='2' color='red' face='宋体'>需补考</font></td>" response.write "<td width='8%' align='center'><b><font size='2' color='red' face='宋体'>" & final_score & "</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>" & end_time & "</font></td>" response.write "<td width='15%' align='center'><b><font size='2' face='宋体'>N/A</font></td>" response.write "<a></a>课件</font></td></tr></table>" end if end if end if rs1.movenext wend rs1.close set rs1 = nothing conrs1.close set conrs1 = nothing %> <script> function Onkao(dtimes){ dtimes = parseInt(dtimes.split("-").join("").slice(0,8))+3; if(formattedTime-(dtimes-3)<3){ alert("请与"+new Date(parseInt(dtimes.toString().slice(0, 4), 10), parseInt(dtimes.toString().slice(4, 6), 10) - 1, parseInt(dtimes.toString().slice(6, 8), 10)).toLocaleDateString()+"后再来补考!") return false; }else { return true; } } </script> <script language="JavaScript"> function openOpExam(courseId) { console.log(courseId); var url = 'km_status_op.asp?course_id=' + courseId + '&question_type=op&employee_id=' + "<%=session("in_employee")%>"; window.open(url, 'opExamWindow', 'width=500,height=400,top=100,left=300,toolbar=no,scrollbars=yes,resizable=yes'); } </script> <table border="0" width="100%"> <tr> <td width="100%" align="center"> <!--<div align="center" style="position:absolute; width:970px; height:30; z-index:1; left: -30px; top: 75px;"> <p><a href="http://10.232.4.175:6666/lxetraining/index.jsp?employee_no=<%=employee_no%>" ><font color="purple" size="4" >P1 MFG基础培训系统</font></a></p> <p><a href="http://10.232.6.116:7777/lxetraining/index.jsp?employee_no=<%=employee_no%>" ><font color="purple" size="4" >P1 MFG基础培训系统</font></a></p> </div>--> <div align="center" style="position:absolute; width:2650px; height:30; z-index:1; left: 80px; top: 75px;"> <!--<p><a href="http://10.232.4.175:6666/lxemoweb/index.jsp?employee_no=<%=employee_no%>" ><font color="purple" size="4" >P1 MO阅读系统</font></a></p>--> <!-- <p><a href="http://10.232.6.116:7777/lxemoweb/index.jsp?employee_no=<%=employee_no%>" ><font color="purple" size="4" >P1 MO阅读系统</font></a></p> --> </div> <a href="index.asp">--返 回--</a> </td> </tr> <tr> <td width="100%" align="center" class='banquan'> <font color="#666666">©Copyright  Semiconductor Manufacturing International (Beijing) Corp. <font color="#018ec6">2024 版权所有 ™</font> v1.0</font> </td> </tr> </table> </div> </body> </html> 这与干修改版的代码 ,结合你说的输出修改后的完整代码 ,不需要有其他的改动,仅实现我们刚才说的
最新发布
12-02
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值