主表 t1
学号 入学时间 专业
2008A121 20080901 计算机
2006A121 20080901 计算机 分类表 t2
分类编号 分类名称
A1 正式招收
A12 本科
A11 专科
A121 男
A120 女
A1201 有驾照
A1200 无驾照产生下表
学号 入学时间 招收类型 学历 性别 有无驾照
2008A1100 20080901 正式招收 专科 女 无驾照
2006A1211 20060901 正式招收 本科 男 有驾照
学号 入学时间 专业
2008A121 20080901 计算机
2006A121 20080901 计算机 分类表 t2
分类编号 分类名称
A1 正式招收
A12 本科
A11 专科
A121 男
A120 女
A1201 有驾照
A1200 无驾照产生下表
学号 入学时间 招收类型 学历 性别 有无驾照
2008A1100 20080901 正式招收 专科 女 无驾照
2006A1211 20060901 正式招收 本科 男 有驾照
解决方案 »
- 关于asp.net网站的datagridview数据获取
- 运行一个循环时,其他控件无法点击
- xml保存信息不能保存带有“<>”符号的字符怎么办?
- 为什么我这样执行 SQL分页存储过程会出错??
- 请教.net开发windwos服务突然自动停止
- 有谁要INFRAGISTIC一套控件的(全套500MB)请找我
- 使用directx录制视频的时候,怎么设置录制的视频封面的是视频的最后一张图片呢
- 请问一个关于QQ用户信息保存的问题
- 自定义控件的问题:我在控件load事件里要读数据库做些初始化,所以在把控件拖到form上,会提示对象未设置,无法显示,怎么解决?
- 请问用c#能进行Windows设备驱动程序开发吗?以前都用c++,看来c#也有做不到的地方?
- 在richTextBox添加图片控件遇到的问题(我的可用分全给了)
- 请教字符问题,大家进来看一下.
2. 你的分类表中数据都不正确。
但是,根据你的数量其实一个表就可以查出来了:SELECT 学号,入学时间,
CASE SUBSTRING(学号,5,2) WHEN 'A1' THEN '正式招收' END AS '招收类型',
CASE SUBSTRING(学号,7,1) WHEN '1' THEN '专科' WHEN '2' THEN '本科' END AS '学历',
CASE SUBSTRING(学号,8,1) WHEN '1' THEN '男' WHEN '0' THEN '女' END AS '性别',
CASE SUBSTRING(学号,9,1) WHEN '1' THEN '有驾照' WHEN '0' THEN '无驾照' END AS '有无驾照'
FROM t1
这样就要枚举了,这个分类表很大。基本不可能枚举。
CASE SUBSTRING(学号,5,2) WHEN 'A1' THEN '正式招收' END AS '招收类型',能做为连接字段吗?类似 where ((CASE SUBSTRING(学号,5,2) WHEN 'A1' THEN '正式招收' END AS '招收类型') = t1.xxx)或者 on ((CASE SUBSTRING(学号,5,2) WHEN 'A1' THEN '正式招收' END AS '招收类型') = t1.xxx)
sybase没用过,所以不太清楚
但在sql server中,这样的条件语句是可以的