我有三个表,有一个都有一个字段id 且三个表中id 都是唯一的现在如下关联三表 select count(*)
from a, b,c
where a.id = b.id(+)
and a.id = c.id(+)
and a.num > 1000
结果为 357596 但这样关联:
select count(*) from
( select a.id
from a, b
where a.id = b.id(+)
and a.num > 1000
) t ,c
where t.id = c.id(+)出来的结果为 357597为什么?后来,我为了发现问题,将两个结果的id全给输出来了,发现后者多出来的那个ID,是在C表中没有的ID,而在A表和B表中都有的
但我明明在第一种情况中加上了左关联啊。为什么没有出来呢?
难道三个表同时左连接会出来数据丢失?请高手帮解答一下,谢谢!
from a, b,c
where a.id = b.id(+)
and a.id = c.id(+)
and a.num > 1000
结果为 357596 但这样关联:
select count(*) from
( select a.id
from a, b
where a.id = b.id(+)
and a.num > 1000
) t ,c
where t.id = c.id(+)出来的结果为 357597为什么?后来,我为了发现问题,将两个结果的id全给输出来了,发现后者多出来的那个ID,是在C表中没有的ID,而在A表和B表中都有的
但我明明在第一种情况中加上了左关联啊。为什么没有出来呢?
难道三个表同时左连接会出来数据丢失?请高手帮解答一下,谢谢!
解决方案 »
- 小弟求教一个拆分字符串的方法
- 关于oracle删除数据的问题。
- oracle中如何定义计算列???
- 怎样在DOS下执行批处理!删除所有表!
- 怎样将一个用户下的所有数据导入到另一个用户下?急!在线等
- 如何对一条记录自动产生一个RAW类型的值?
- 如何通过自己的oracle存储过程进行按用户模式的数据备份?
- 哪里有oracle的sql语法帮助文件啊?
- ADO 连接Oracle 有时好的有时不通,有解决办法吗?
- win7 64位 用php 连接本地数据库 报错oci_connect()ora-12154 tns 无法解析指定的连接标识符
- 新手提问:winXP下怎样启动oracle
- 问一个sql语句问题
的,因为A与B左连接后,如果B无数据的话,大表B的字段为空,这时再用条件,这整条记录就被掉了。谢谢楼上的兄弟,我搞了半天,这个问题!