首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对两个具有两个相似字段和一个不同字段的表执行更新操作?

如何对两个具有两个相似字段和一个不同字段的表执行更新操作?
EN

Stack Overflow用户
提问于 2014-12-14 08:17:00
回答 1查看 378关注 0票数 0

我有两个表,名为"studentBio“和"subjects”。下面给出了两个表的字段(带有一些值):在表单中,我得到了如下内容:

checkedlistbox1中,以A+B+C的形式显示了相应的主题,在从用户检索后,将在'+‘的基础上拆分,并同时添加到 subjects 表中。

  1. studentBio表的字段如下:,其中 (RollNo、RegYear、program和教员组合在一起使组合为主键): RollNo RegYear stuName项目教员phoneNuber地址:2010年约翰中级工程343483834伦敦2 2011年伦纳德中级医学454545445 NewYork 3 2012年亨利毕业学士565656565奥斯陆
  2. subjects表的类似字段如下:,其中 (RollNo、RegYear、program和教员结合在一起,使复合成为主键): RollNo RegYear项目教员subjectName 1 2010中级预工程1 2010中级工程B 1 2010中级工程预科2 2011中级医学预科2 2011中级医学预科2 2011中级医学预科

诸若此类。现在让我们来看看problem。我正在做的是更新(教员和程序)在表和subjectN科目表。到目前为止,我所做的是只更新了studentBio表,这很容易,但我无法理解,因为如何构造更新查询以更新subjects表?有人能帮我整理一下查询吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-15 21:38:21

如果我理解得很好,请尝试一下您的查询的这个重组版本:

代码语言:javascript
复制
string update_Personal = "UPDATE studentBio INNER JOIN subjects ON studentBio.RollNo = subjects.RollNo AND studentBio.RegYear = subjects.RegYear AND studentBio.program = subjects.program AND studentBio.faculty = subjects.faculty SET studentBio.program = ProgramU, studentBio.faculty = FacultyU, subjects.subjectName = SubjectNameU WHERE studentBio.RollNo = " + Convert.ToInt32(this.rollNumber7_combo.SelectedItem.ToString()) + " AND studentBio.RegYear = " + Convert.ToInt32(this.comboBox3.SelectedItem.ToString()) + " AND studentBio.program = '" + this.comboBox1.SelectedItem.ToString() + "' AND studentBio.faculty = '" + this.comboBox2.SelectedItem.ToString() + "'";

为了更新subjects表,我添加了以下部分:

  1. studentBio INNER JOIN subjects ON studentBio.RollNo = subjects.RollNo AND studentBio.RegYear = subjects.RegYear AND studentBio.program = subjects.program AND studentBio.faculty = subjects.faculty --这个部分加入了subjects表,使它的更新成为可能
  2. , subjects.subjectName = SubjectNameU - SET块中更新subjects表中subjectName列的片段
  3. WHERE studentBio.RollNo = " + Convert.ToInt32(this.rollNumber7_combo.SelectedItem.ToString()) + " AND studentBio.RegYear = " + Convert.ToInt32(this.comboBox3.SelectedItem.ToString()) + " AND studentBio.program = '" + this.comboBox1.SelectedItem.ToString() + "' AND studentBio.faculty = '" + this.comboBox2.SelectedItem.ToString() + "'" -最后一部分是在每个键列中添加前缀studentBio.WHERE块,以精确地将筛选应用于哪个表(因为两个表都有相同的键列名)。

我希望它能在某种程度上帮助你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27467545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档