关于全外连接的问题:
现有两个表T1,T2,表结构相同有 日期,数值 两个字段,数据如下:
T1:
日期 数值
2007-01-01 10
2007-01-02 20
2007-01-03 30T2:
日期 数值
2007-01-02 20
2007-01-03 30
2007-01-04 40我想得到的结果
日期 数值T1 数值T2
2007-01-01 10 NULL
2007-01-02 20 20
2007-01-03 30 30
2007-01-04 NULL 40我用以下全外连接语句好像不行哦
select * from T1 Full outer join T2 on(T1.日期 = T2.日期)请问要怎么办?
现有两个表T1,T2,表结构相同有 日期,数值 两个字段,数据如下:
T1:
日期 数值
2007-01-01 10
2007-01-02 20
2007-01-03 30T2:
日期 数值
2007-01-02 20
2007-01-03 30
2007-01-04 40我想得到的结果
日期 数值T1 数值T2
2007-01-01 10 NULL
2007-01-02 20 20
2007-01-03 30 30
2007-01-04 NULL 40我用以下全外连接语句好像不行哦
select * from T1 Full outer join T2 on(T1.日期 = T2.日期)请问要怎么办?
解决方案 »
- 如何查看 Oracle 的 CPU,内存的使用情况 ,以及 资源使用率高的语句
- 求这条sql该怎么写。
- PL/SQL中编写一个函数:取原字符串 123;asd;33;e4 以分号为分隔符的字符串,例如我需要取第一个,得到的值应该为123 ,取第四个就是e4
- mysql 创建数据库,那oracle呢?
- 急!!!!Oracle安装!!
- 默认补空行的问题
- 搜索问题,请大侠们帮帮忙!!!
- 有关分组函数max的查询列表问题
- AIX下的oracle客户端怎么连不上?
- win2000下orcale 9.2.0.1.0安装时出现“加载数据库时出错:areasQueries”,在线等待。
- (急)oracle 根据当前日期得到季节(类似SQL的datepart函数)
- pl/sql读写文件的错误: ORA-06510和ORA-06512
select decode(t1.日期,null,t2.日期,t1.日期),t1.数值,t2.数值
from t1 full outer join t2 on t1.a=t2.a
不过 bjt 那样也对的。
谢谢!
你的2007-01-04 NULL 40对应记录
用上面的查询结果为
NULL NULL 40
问题出现在你select * from T1上 而2007-01-04是不属于T1的,
所以出现了Null Null 来full join T2 出现上面的结果~~
所以只要排除Null 即可~~楼上方法上面已提供。不再赘述