A表
ID value
1 1
1 2
2 3
2 4
3 5
b表
ID1 value
1 9
1 8
C表
ID2 value
2 10
2 11结果
ID vlaue ID1 vlaue ID2 vlaue
1 1 1 9 - -
1 2 1 8 - -
2 3 - - 2 10
2 4 - - 2 11
3 5 - - - -
就是上面的东西了,开始自己用join试试,发现不行,id会重复出现很多行。希望写的时候能考虑如果以后有数据扩充或增加表的情况。写法不要固定在给出的这几张表。
ID value
1 1
1 2
2 3
2 4
3 5
b表
ID1 value
1 9
1 8
C表
ID2 value
2 10
2 11结果
ID vlaue ID1 vlaue ID2 vlaue
1 1 1 9 - -
1 2 1 8 - -
2 3 - - 2 10
2 4 - - 2 11
3 5 - - - -
就是上面的东西了,开始自己用join试试,发现不行,id会重复出现很多行。希望写的时候能考虑如果以后有数据扩充或增加表的情况。写法不要固定在给出的这几张表。
解决方案 »
- Oracle 10G 在OLE DB 读取数据的问题
- 如何用PLSQL对自己电脑上的几个EXCEL文件进行查询?困惑很久,请指点,谢谢!
- Oracle4问
- 请问rman在linux中如何list全部
- oracle global_name问题 高手请帮忙解决!高分!
- alter table new_emp add constraint fk_dept_no foreign ......deferrable initially immediate; 中deferrable initially immediate具体
- 如何永久更改数据库时间日期格式。
- 装了oracle8i后,管理和运用它是不是还另外下载别的什么工具软件?
- 提问一个Oracle数据库字符集的问题
- Solaris2.6上安装Oracle8.1.6的问题
- 关于ORACLE给用户授权的问题??
- 实施RAC在raw设备上手工创建数据库出问题
select a.id,a.vlaue,b.id2,b.vlaue,c.id3,c.vlaue from
(select ROW_NUMBER() OVER (PARTITION BY id ORDER BY vlaue) rsn,a.* from A) a
left join
(select ROW_NUMBER() OVER (PARTITION BY id2 ORDER BY vlaue) rsn,b.* from B) b
on a.id=b.id2 and a.rsn=b.rsn
left join
(select ROW_NUMBER() OVER (PARTITION BY id3 ORDER BY vlaue) rsn,c.* from B) c
on a.id=c.id3 and a.rsn=c.rsn