两个问题(1.多表查询;2.过期数据转移)

空心兜兜 2009-05-18 07:44:25
问题1:
我的这个查询可能用到6个表,不知道能否实现功能



数据库模型如下:

恕类型、关系不好描述,只能上一张PowerDesigner图了


查询的时候,用“报名”表中的“考试编号”作为查询某个考试报名的人数,列出已报名的 考试名称、学号、姓名、学院名、班级名,用学院名(或学院ID)来排列


我现在想出的SQL代码如下(实际是在SQL 05中新建视图弄出来的):
SELECT     dbo.Examinations.ExamName, dbo.College.CollegeName, dbo.Class.ClassName, dbo.Registration.ExamId, dbo.Candidates.StuId, 
dbo.Candidates.StuName
FROM dbo.Candidates INNER JOIN
dbo.Class ON dbo.Candidates.ClassId = dbo.Class.ClassId INNER JOIN
dbo.College ON dbo.Candidates.CollegeId = dbo.College.CollegeId AND dbo.Class.CollegeId = dbo.College.CollegeId INNER JOIN
dbo.Registration ON dbo.Candidates.StuId = dbo.Registration.StuId INNER JOIN
dbo.Examinations ON dbo.Registration.ExamId = dbo.Examinations.ExamId
Order by dbo.College.CollegeName



不知道这样的代码能否实现功能呢?





=========================================================================================================
问题2


考试报名信息和班级、学院名总是有时效性的,如何手工把过期数据列转移到***Old表中?
如把“考试”的一列转移到“考试Old”中?


...全文
191 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
youzhj 2009-05-21
  • 打赏
  • 举报
回复
帮顶,并且关注和学习
JonasFeng 2009-05-21
  • 打赏
  • 举报
回复
8楼的正解。
wanshichen 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sdhdy 的回复:]
SQL code--可以,同时执行这两条语句。insertoldtableselect*from考试where考试编号=@DropDownListExam.SelectedValueDeletefrom考试where考试编号=@DropDownListExam.SelectedValue
[/Quote]
这是可以的,你可以写在一起执行的
-无-为- 2009-05-21
  • 打赏
  • 举报
回复
学而 顶之..
空心兜兜 2009-05-18
  • 打赏
  • 举报
回复
好的,谢谢啦
sdhdy 2009-05-18
  • 打赏
  • 举报
回复
--可以,同时执行这两条语句。
insert oldtable select * from 考试
where 考试编号=@DropDownListExam.SelectedValue

Delete from 考试
where 考试编号=@DropDownListExam.SelectedValue
空心兜兜 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sdhdy 的回复:]
不太明白,try.
insert oldtable(col列表) select col列表 from 考试表
[/Quote]


insert oldtable select * from 考试
where 考试编号=@DropDownListExam.SelectedValue


这样可以吗?
但是还需要把这条记录从“考试”表删除,再另写一个DeleteCommand

Delete from 考试
where 考试编号=@DropDownListExam.SelectedValue




应用程序的一个事件触发两个SQL事件?
sdhdy 2009-05-18
  • 打赏
  • 举报
回复
不太明白,try.
insert oldtable(col列表) select col列表 from 考试表
王向飞 2009-05-18
  • 打赏
  • 举报
回复
帮顶
YuuKi_kuroKo 2009-05-18
  • 打赏
  • 举报
回复

空心兜兜 2009-05-18
  • 打赏
  • 举报
回复
上面的where语句通过,也符合要求了
等待高人指点转移记录的方法
空心兜兜 2009-05-18
  • 打赏
  • 举报
回复
用查询分析器试了下
Select语句里不该有dbo.Registration.ExamId

而应该加一条语句
where dbo.Registration.ExamId=@DropDownListExam.SelectedValue

是否可以?
qq200261 2009-05-18
  • 打赏
  • 举报
回复
不懂

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧