Office中国论坛/Access中国论坛

标题: 高难度查询 语句 [打印本页]

作者: antywjl    时间: 2006-5-17 23:42
标题: 高难度查询 语句
结汇量=结售汇.金额×汇率.汇率(结售汇表中借贷标志为D,汇率是汇率表中与结售汇交易中同年同月的同币种汇率),结汇量收益=结汇量×优惠系数(优惠系数表中与结售汇信息中同年同月同企业的值)×收益率(收益率表中与结售汇信息中同年同月的值),售汇量=结售汇.金额×汇率.汇率(结售汇表中借贷标志为C,汇率是汇率表中与结售汇交易中同年同月的同币种汇率),售汇量收益=售汇量×优惠系数(优惠系数表中与结售汇信息中同年同月同企业的值)×收益率(收益率表中与结售汇信息中同年同月的值),这四个计算值均是所查询内容对应的合计,例A网点a客户经理b企业的所有交易的结汇量总值,售汇量总值,结汇总收益,售汇总收益。这样的SQL查询语句怎么实现?

请高手帮忙
作者: antywjl    时间: 2006-5-18 01:26
哪位高手帮我看看可以这样写联合查询吗?库在这http://www.office-cn.net/forum.php?mod=viewthread&tid=40033


select 网点编号,客户经理编号,名称
from 企业
INNER JOIN 结售汇 ON 企业.帐号=结售汇.法人代码and(结售汇.日期)>=#"&format(me.开始日期),"yyyy-mm-dd")&"# and(结售汇.日期)<=#"&format(me.结束日期),"yyyy-mm-dd")&"# and(((企业.网点编号)=[form]![结售汇]![网点编号])and((企业.客户经理编号)=[form]![结售汇]![客户经理编号])and((企业.名称)=[form]![结售汇]![企业名称])))
or (((企业.网点编号)=[form]![结售汇]![网点编号])and((企业.客户经理编号)=[form]![结售汇]![客户经理编号])and([form]![结售汇]![企业名称] is null))or(([form]![结售汇]![网点编号] is null )and((企业.客户经理编号)=[form]![结售汇]![客户经编号]) and ((企业.名称)=[form]![结售汇]![企业名称]))or(((企业.网点编号)=[form]![结售汇]![网点编号])and([form]![结售汇]![客户经理编号] is null)and ((企业.名称)=[form]![结售汇]![企业名称]))or(([form]![结售汇]![网点编号] is null )and([form]![结售汇]![客户经理编号] is null)and ((企业.名称)=[form]![结售汇]![企业名称]))or(([form]![结售汇]![网点编号] is null )and((企业.客户经理编号)=[form]![结售汇]![客户经编号]) and ([form]![结售汇]![企业名称]) is null)or (((企业.网点编号)=[form]![结售汇]![网点编号])and([form]![结售汇]![客户经理编号]is null)and([form]![结售汇]![企业名称] is null))or (([form]![结售汇]![网点编号] is null)and([form]![结售汇]![客户经理编号]is null)and([form]![结售汇]![企业名称] is null);
union all
select SUM(结售汇.金额×汇率.汇率) as 结汇量
from 结售汇,汇率
where 企业.帐号=结售汇.企业帐号 and 结售汇.借贷标志="D"
and(结售汇.日期)>=#"&format(me.开始日期),"yyyy-mm-dd")&"# and(结售汇.日期)<=#"&format(me.结束日期),"yyyy-mm-dd")&"# and format((结售汇.日期),"yyyy-mm") =format((汇率.日期),"yyyy-mm") and 结售汇.币种=汇率.币种
union all
select SUM(结售汇.金额×汇率.汇率) as 售汇量
from 结售汇,汇率
where 企业.帐号=结售汇.企业帐号 and 结售汇.借贷标志="C"
and(结售汇.日期)>=#"&format(me.开始日期),"yyyy-mm-dd")&"# and(结售汇.日期)<=#"&format(me.结束日期),"yyyy-mm-dd")&"# and format((结售汇.日期),"yyyy-mm") =format((汇率.日期),"yyyy-mm") and 结售汇.币种=汇率.币种
union all
select SUM(结售汇.金额×汇率.汇率×企业.优惠系数×收益率.收益率) as 结汇收益
from 结售汇,汇率,企业,收益率
where 企业.帐号=结售汇.企业帐号 and 结售汇.借贷标志="D"
and(结售汇.日期)>=#"&format(me.开始日期),"yyyy-mm-dd")&"# and(结售汇.日期)<=#"&format(me.结束日期),"yyyy-mm-dd")&"# and format((结售汇.日期),"yyyy-mm") =format((汇率.日期),"yyyy-mm"=format((收益率.日期),"yyyy-mm") and 结售汇.币种=汇率.币种
union all
select SUM(结售汇.金额×汇率.汇率×企业.优惠系数×收益率.收益率) as 售汇收益
from 结售汇,汇率,企业,收益率
where 企业.帐号=结售汇.企业帐号 and 结售汇.借贷标志="C"
and(结售汇.日期)>=#"&format(me.开始日期),"yyyy-mm-dd")&"# and(结售汇.日期)<=#"&format(me.结束日期),"yyyy-mm-dd")&"# and format((结售汇.日期),"yyyy-mm") =format((汇率.日期),"yyyy-mm"=format((收益率.日期),"yyyy-mm") and 结售汇.币种=汇率.币种


作者: okmijn    时间: 2006-5-18 06:08
太长了,懒得看
作者: duoxie2003    时间: 2006-5-20 22:31
这是么子东东啊,看不懂了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3