现有有三张表Student 表
ID Name
1 学生1
2 学生2
3 学生3Teacher 表
ID Name
1 老师1
2 老师2
3 老师3ClassRoom 表
ID Name
1 教室1
2 教室2
3 教室3现有以下数据
ID TableName(表名)
1 Student
3 Student
1 Teacher
2 Teacher
3 ClassRoom现在要求用以上的数据,用SQL语句自动变成
ID Name TableName
1 学生1 Student
3 学生3 Student
1 老师1 Teacher
2 老师2 Teacher
3 教室3 ClassRoom就是用 TableName 和 ID 找出它们所对应的 Name,问SQL该怎么写?
谢谢大家!!!
ID Name
1 学生1
2 学生2
3 学生3Teacher 表
ID Name
1 老师1
2 老师2
3 老师3ClassRoom 表
ID Name
1 教室1
2 教室2
3 教室3现有以下数据
ID TableName(表名)
1 Student
3 Student
1 Teacher
2 Teacher
3 ClassRoom现在要求用以上的数据,用SQL语句自动变成
ID Name TableName
1 学生1 Student
3 学生3 Student
1 老师1 Teacher
2 老师2 Teacher
3 教室3 ClassRoom就是用 TableName 和 ID 找出它们所对应的 Name,问SQL该怎么写?
谢谢大家!!!
解决方案 »
- 一个有点难度的SQL问题,大家来帮忙看看怎么写呀
- update t1 set B = (select t2.B from t1,t2 where t1.A = t2.A);
- 数据备份及恢复
- imp运行到一个大的表时,无反应
- 再问一个关于select中dual的问题,请各位指导。
- 一个数据库导入的问题,请进!
- tns-12547,tns-12514的问题
- 表中有所有用户的服务操作.SERVERID,服务申请的时间怎么创建视图显示所有服务的最后服务申请
- 用 c++ builder 6.0 能编译pro*c/c++ 的程序吗?
- 会者不难
- 关于使用WRAP加密的问题
- 急求助:数据表移植导致double出现null值的时候删除处理的问题!!
UPdate table1 when (TableName in 'Student') then
set newcol=(select name from Student where table1.id=Student.id)
when ......
else ......
或者也可以用decode方法去判断
ID TableName(表名)
1 Student
3 Student
1 Teacher
2 Teacher
3 ClassRoom
------------------------------------------------------
这些数据都是存储在一个表中的,还是你联合查询出来的?
假定你这些数据是存储于一个表中,表明为V_TableName你可是这样试试
Select a.ID,
a.TableName,
Case
When TableName = 'Student' Then (Select Name From Student Where ID = a.ID)
When TableName = 'Teacher' Then (Select Name From Teacher Where ID = a.ID)
When TableName = 'ClassRoom' Then (Select Name From ClassRoom Where ID = a.ID)
End Name
From V_TableName a本人愚见,如遇高手,还请指点一二,板砖就免了。