求一个sql语句,类似交叉表

shadowno 2008-03-22 03:16:55
主表 t1
学号 入学时间 专业
2008A121 20080901 计算机
2006A121 20080901 计算机

分类表 t2
分类编号 分类名称
A1 正式招收
A12 本科
A11 专科
A121 男
A120 女
A1201 有驾照
A1200 无驾照

产生下表
学号 入学时间 招收类型 学历 性别 有无驾照
2008A1100 20080901 正式招收 专科 女 无驾照
2006A1211 20060901 正式招收 本科 男 有驾照
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowno 2008-03-22
  • 打赏
  • 举报
回复
哦,,多谢了 试试先,应该问题不大了,
boblaw 2008-03-22
  • 打赏
  • 举报
回复
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中,这样的条件语句是可以的
shadowno 2008-03-22
  • 打赏
  • 举报
回复
而且这个分类表,用户可以根据情况来增减记录,延伸分类的层次,要求数据显示能判断并且显示明细分类
shadowno 2008-03-22
  • 打赏
  • 举报
回复
分类表 600+行的记录。。。
shadowno 2008-03-22
  • 打赏
  • 举报
回复
boblaw,恩,不是实表是个例子。 是sybase 数据库,
这样就要枚举了,这个分类表很大。基本不可能枚举。


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)
HarleyTung 2008-03-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 boblaw 的回复:]
1. 数据表的架构不合理。
2. 你的分类表中数据都不正确。
但是,根据你的数量其实一个表就可以查出来了:

SQL code
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) W…
[/Quote]

good
firein 2008-03-22
  • 打赏
  • 举报
回复
一个字段分别连一张分类表了。。
boblaw 2008-03-22
  • 打赏
  • 举报
回复
1. 数据表的架构不合理。
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

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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