我这有两张表t_base和t_team
t_base:
id oldteamno newteamno
1 2
t_team:
no name
1 数学
2 语文现在我想查询一条记录的原组名和新组名,结果类似于
2009 数学 语文请问这sql语句该怎样写?
t_base:
id oldteamno newteamno
1 2
t_team:
no name
1 数学
2 语文现在我想查询一条记录的原组名和新组名,结果类似于
2009 数学 语文请问这sql语句该怎样写?
解决方案 »
- alter database clear logfile group 会否导致数据库恢复时数据丢失
- oracle enterprise manager console 找不到的问题(急)
- SQL语言跟踪工具(SQL Trace Facility)在哪能下到
- "方案"是什么意思?
- 普通用户登陆时报ora-01033错误怎么解决
- 连接问题?(在线急等)
- 问一个巨菜的问题:在 win2000 下如何实现双机自动数据库备份(oracle9i)
- 求助:中文乱码的问题
- 一个关于启动服务的问题?????
- 系统重装,Oracle数据恢复
- 这什么原因: v_char:=v_date,则从2050年开始,v_char会比v_date少100年
- 如何从oracle9i备份到oracle10g,急,谢谢
select a.id,b.name,c.name
from t_base a,t_team b,t_team c
where a.oldteamno=b.no
and a.newteamno=c.no
或者
select id,
(select name from t_team where no = oldteamno) oldteamno,
(select name from t_team where no = newteamno) newteamno
from t_base
select id,case oldteamno when 1 then 数学 else 语文 end oldteamname,case newteamno when 1 then 数学 else 语文 end newteamname from t_base如果科目很多,那么可用子查询。
(select t_base.id id,t_team.name oldteamname from t_base,t_team where t_base.oldteamno=t_team.no) a,
(select t_base.id id,t_team.name newteamname from t_base,t_team where t_base.newteamno=t_team.no) b where a.id=b.id