表a
name time
a 200910
a 200909
a 200908
b 200908
b 200910
表b
name time
a 200810
a 200809
a 200808
b 200808
b 200810
查询出来的表为
name time name time
a 200810 a 200910
a 200809 a 200909
a 200808 a 200908
b 200808 b 200908
b 200810 b 200910 其实就是一张表传入的 name 是相同的 时间不同而已 怎么做查出上面的结果?
name time
a 200910
a 200909
a 200908
b 200908
b 200910
表b
name time
a 200810
a 200809
a 200808
b 200808
b 200810
查询出来的表为
name time name time
a 200810 a 200910
a 200809 a 200909
a 200808 a 200908
b 200808 b 200908
b 200810 b 200910 其实就是一张表传入的 name 是相同的 时间不同而已 怎么做查出上面的结果?
解决方案 »
- 怎样实现局域网内两台oracle数据库同步?
- ebs中建立主组织物料时有个“类别分配”,这个干什么用的
- 小弟对PL/SQL语句不熟,请大家帮忙看下下面的存储过程有错吗
- oracle rownum 问题请教
- 使用Ext Js+Struts2开发企业级应用—培训这个课程怎么样
- sybase 中的isql语句转换成Oracle sqlplus语句
- 有什么图形化的工具,管理oracle的表和数据?
- Linux下安装oracle出错
- 我需要oracle8的资料,入门的,简单通俗的那种
- http://download.oracle.com/otn/utilities_drivers/odbc/oracle9i/ora9202.exe
- 《重发》 数据库 访问权限问题
- 一条比较难实现的SQL,高手帮帮忙呀!
from a,b
where a.name=b.name
and a.time=to_char(add_months(to_date(b.time,'yyyymm'),-1),'yyyymm')
也不是我想要的结果,我就是想把两张表拼起来
name time name time
a 200810 a 200910
a 200809 a 200909
a 200808 a 200908
b 200808 b 200908
b 200810 b 200910
b 200808 b 200908
a 200808 a 200908
a 200810 a 200910
create table t_B(name varchar2(20),time varchar2(20));
--生成A表数据
insert into T_A (NAME, TIME)
values ('a', '200910');
insert into T_A (NAME, TIME)
values ('a', '200909');
insert into T_A (NAME, TIME)
values ('a', '200908');
insert into T_A (NAME, TIME)
values ('b', '200908');
insert into T_A (NAME, TIME)
values ('b', '200910');--生成B表数据
insert into T_B (NAME, TIME)
values ('a', '200810');
insert into T_B (NAME, TIME)
values ('a', '200809');
insert into T_B (NAME, TIME)
values ('a', '200808');
insert into T_B (NAME, TIME)
values ('b', '200808');
insert into T_B (NAME, TIME)
values ('b', '200810');--得出结果
Select c.Name,c.Time,c.Name,d.Time
From (Select a.*,Rownum Row_Num from t_a a Order By a.Name) C,
(Select b.*,Rownum Row_Num from t_b b Order By b.Name)D
Where c.Name=d.Name
And c.Row_Num=d.Row_Num;