以下语句查询结果为42001条,无重复记录
select gl_detail.nov as nov,
bd_cashflow.cfitemname as pk_cashflow,
bd_corp.unitname as unitname,
gl_detail.yearv || gl_detail.periodv as periodv,
gl_detail.detailindex as detailindex,
bd_accsubj.subjname as subjname,
gl_detail.explanation as explanation,
gl_detail.localcreditamount as localcreditamount,
gl_detail.localdebitamount as localdebitamount,
gl_detail.prepareddatev as prepareddatev,
gl_cashflowcase.money as money,
gl_detail.assid as assid
from gl_cashflowcase
inner join bd_cashflow
on gl_cashflowcase.pk_cashflow = bd_cashflow.pk_cashflow
inner join gl_detail
on gl_cashflowcase.pk_detail = gl_detail.pk_detail
inner join bd_accsubj
on gl_detail.pk_accsubj = bd_accsubj.pk_accsubj
inner join bd_corp
on gl_detail.pk_corp = bd_corp.pk_corp
where bd_cashflow.itemflag = '0'
group by nov,
gl_detail.yearv || gl_detail.periodv,
detailindex,
subjname,
bd_cashflow.cfitemname,
explanation,
money,
localcreditamount,
localdebitamount,
prepareddatev,
unitname,
gl_detail.assid
以下语句查询结果却为82050条,就是上面的语句做了个左连接,理论上条数应该与上面相同啊,查看结果集发现嵌套的语句分组没有起作用,这是怎么回事啊,大侠们帮帮忙啊
select nov,
detailindex,
subjname,
explanation,
localcreditamount,
localdebitamount,
prepareddatev,
money,
assid,
pk_cashflow,
unitname,
case
when y.checktype in ('00010000000000000073','0001A910000000000LU6','0001A91000000000F67P') then
valuename
else
''
end as valuename
from (select gl_detail.nov as nov,
bd_cashflow.cfitemname as pk_cashflow,
bd_corp.unitname as unitname,
gl_detail.detailindex as detailindex,
bd_accsubj.subjname as subjname,
gl_detail.explanation as explanation,
gl_detail.localcreditamount as localcreditamount,
gl_detail.localdebitamount as localdebitamount,
gl_detail.prepareddatev as prepareddatev,
gl_cashflowcase.money as money,
gl_detail.assid as assid
from gl_cashflowcase
inner join bd_cashflow
on gl_cashflowcase.pk_cashflow = bd_cashflow.pk_cashflow
inner join gl_detail
on gl_cashflowcase.pk_detail = gl_detail.pk_detail
inner join bd_accsubj
on gl_detail.pk_accsubj = bd_accsubj.pk_accsubj
inner join bd_corp
on gl_detail.pk_corp = bd_corp.pk_corp
where bd_cashflow.itemflag = '0'
group by nov,
detailindex,
subjname,
bd_cashflow.cfitemname,
explanation,
money,
localcreditamount,
localdebitamount,
prepareddatev,
unitname,
gl_detail.assid) x
left join gl_freevalue y
on x.assid = y.freevalueid没分分了,想要分还有一帖
http://topic.csdn.net/u/20110704/15/24ec3d8d-5589-489b-85f5-17b6ea62b0c0.html
共求大侠们帮助
select gl_detail.nov as nov,
bd_cashflow.cfitemname as pk_cashflow,
bd_corp.unitname as unitname,
gl_detail.yearv || gl_detail.periodv as periodv,
gl_detail.detailindex as detailindex,
bd_accsubj.subjname as subjname,
gl_detail.explanation as explanation,
gl_detail.localcreditamount as localcreditamount,
gl_detail.localdebitamount as localdebitamount,
gl_detail.prepareddatev as prepareddatev,
gl_cashflowcase.money as money,
gl_detail.assid as assid
from gl_cashflowcase
inner join bd_cashflow
on gl_cashflowcase.pk_cashflow = bd_cashflow.pk_cashflow
inner join gl_detail
on gl_cashflowcase.pk_detail = gl_detail.pk_detail
inner join bd_accsubj
on gl_detail.pk_accsubj = bd_accsubj.pk_accsubj
inner join bd_corp
on gl_detail.pk_corp = bd_corp.pk_corp
where bd_cashflow.itemflag = '0'
group by nov,
gl_detail.yearv || gl_detail.periodv,
detailindex,
subjname,
bd_cashflow.cfitemname,
explanation,
money,
localcreditamount,
localdebitamount,
prepareddatev,
unitname,
gl_detail.assid
以下语句查询结果却为82050条,就是上面的语句做了个左连接,理论上条数应该与上面相同啊,查看结果集发现嵌套的语句分组没有起作用,这是怎么回事啊,大侠们帮帮忙啊
select nov,
detailindex,
subjname,
explanation,
localcreditamount,
localdebitamount,
prepareddatev,
money,
assid,
pk_cashflow,
unitname,
case
when y.checktype in ('00010000000000000073','0001A910000000000LU6','0001A91000000000F67P') then
valuename
else
''
end as valuename
from (select gl_detail.nov as nov,
bd_cashflow.cfitemname as pk_cashflow,
bd_corp.unitname as unitname,
gl_detail.detailindex as detailindex,
bd_accsubj.subjname as subjname,
gl_detail.explanation as explanation,
gl_detail.localcreditamount as localcreditamount,
gl_detail.localdebitamount as localdebitamount,
gl_detail.prepareddatev as prepareddatev,
gl_cashflowcase.money as money,
gl_detail.assid as assid
from gl_cashflowcase
inner join bd_cashflow
on gl_cashflowcase.pk_cashflow = bd_cashflow.pk_cashflow
inner join gl_detail
on gl_cashflowcase.pk_detail = gl_detail.pk_detail
inner join bd_accsubj
on gl_detail.pk_accsubj = bd_accsubj.pk_accsubj
inner join bd_corp
on gl_detail.pk_corp = bd_corp.pk_corp
where bd_cashflow.itemflag = '0'
group by nov,
detailindex,
subjname,
bd_cashflow.cfitemname,
explanation,
money,
localcreditamount,
localdebitamount,
prepareddatev,
unitname,
gl_detail.assid) x
left join gl_freevalue y
on x.assid = y.freevalueid没分分了,想要分还有一帖
http://topic.csdn.net/u/20110704/15/24ec3d8d-5589-489b-85f5-17b6ea62b0c0.html
共求大侠们帮助
解决方案 »
- oracle建表时的字段大小有什么用
- oracle 物化视图 ,提示 表或视图不存在
- 求解什么时候执行计划会使用笛卡尔积
- dbtimezone跟current_timestamp有什么不同?
- Oracle初始化参数设置遇到的问题
- 30分求一简单sql语句
- SQL小问题,轻松搞定,近来吧
- 一个很简单的语句报错:ORA-00932: 不一致的数据类型: 要求 ROWID 得到的却是 NUMBER
- oracle初级问题:developer/2000的开发语言是pl/sql么?
- JDK版本为1.7下Oracle11g(thin)连接问题
- oracle 语句执行多次结果不相同,请高手帮忙
- oracle11g碰到"注册OCX时出现OLE初始化错误或OCX加载错误"
再看看两个表的主键是不是都写好了
select count(freevalueid),count(distinct freevalueid) from gl_freevalue;
看看有没有重复