一个sql的问题
「已注销」 2011-07-22 04:24:23 老大给我了个任务 是编辑个工作系统(vb)的,但是中间碰到个问题请教下,这种情况下sql查询语句怎么写,下面是例表,实际比这个复杂点:
表db
id(主键) mid name sid class 后面还有其他数据不过不重要
1 41709 张三 研0321 0912
2 41710 王五 研0322 0912
3 41733 张三 本0311 1922
4 41709 张三 本0312 1922
5 41709 张三 本0312 1923
mid类似于身份识别号码每个人对应唯一一个,不同人不同
name 姓名 可以重名
sid 类似于学号 在每个阶段每个人是唯一的,比如id为1、4、5实际是同一个人 但有2个学号,研0321和本0312
class 课程编号 即每个人所上课程
实现功能
输入name或sid的值先反查mid,然后列出对应mid下所有数据
打个比方
1.录入 sql_key="sid='研0321'" (sql_key为录入的条件)
输出
1 41709 张三 研0321 0912
4 41709 张三 本0312 1922
5 41709 张三 本0312 1923
即通过sid='研0321'先查出mid=41709,然后利用mid=41709 这个条件实现查询出所要的结果
2.录入 sql_key="name='张三'"
输出
1 41709 张三 研0321 0912
3 41733 张三 本0311 1922
4 41709 张三 本0312 1922
5 41709 张三 本0312 1923
即通过name='张三'先查出mid=41709和41733,然后利用mid=41709和mid=41733 这2个条件实现查询出所要的结果