急求一SQL语句(ACCESS),附带有crystal report的需求......在线等.

Kevin_jun 2006-04-20 06:20:02
三个表,a,b,c.
从a表中得到ID,
然后这个ID在B表中有一个客户.
在C表中有其详细的订单若干.
现在要求在报表中.按ID分组,显示出某个ID的用户名,统计这个ID的总金额.
(就是在C表中的订单).
而C表中的订单有分还税与不还税的.还税的就*0.05,不还的就原值.
一个ID可能全是有税订单,可能全无税,可以两者都有.)
总金额就是无税,有税,税金加在一起.
表a:
ID CID OID
表b:
ID CID CNAME
表c:
ID OID OPrice OGst(税否)


结果:
ID CNAME OTotals(sum OPrice 包括有税无税及税金)
id001 c001 1009.99
id002 ... .......

条件:
一条语句.在access数据库中.
其实这个是crystal report去运行access时要跑出来的一个报表.报表都做晕了.
总有错.请高手也指点下报表的做法.
...全文
248 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnjack 2006-04-25
  • 打赏
  • 举报
回复
看來是真的有點暈了
Kevin_jun 2006-04-21
  • 打赏
  • 举报
回复
不会吧,一个人也没有?
降低点要求,只要SQL查出来就行.
实在不行我就只有多做几个Query视图一样的东东了.
Kevin_jun 2006-04-21
  • 打赏
  • 举报
回复
case ... then ...else ...end
case when ...then ...end
在crystal report中倒实现了,但看他的SQL语句,竟然是全查出三个表的内容,没别的.
更晕.看来是水晶报表处理机制不一样.
Kevin_jun 2006-04-21
  • 打赏
  • 举报
回复
我把b,c表的ID也搞出来了.真是此ID非彼ID.(被人催晕了:<)
刚我试一下edp08()的方法,可是在access中会报语法错,我把适配SQL语法选项也选了,似乎不支持case wher ...
Kevin_jun 2006-04-21
  • 打赏
  • 举报
回复
不好意思,严重误导了大家.
表a:
ID CID
id001 c001
...

表b:
CID CNAME
c001 c001name
...

表c:
ID OID OPrice OGst(税否)
id001 O001 111 y
id001 O002 222 n
id001 O003 333 y

发了帖子见没有人回.我就自己去做了.
edp08(),不好意思啦.
刚把报表做出来才来看帖子.
谢谢啦.
edp08 2006-04-21
  • 打赏
  • 举报
回复
b\c表中为何要有ID,不是通过CID、OID连就可以的吗?

select a.id, b.cname, sum(OPrice * (case when OGst = 'Y' then 1.05 else 1 end))
from a, b, c
where a.id = b.id and a.cid = b.cid and a.id = c.id and a.oid = c.oid


edp08 2006-04-21
  • 打赏
  • 举报
回复
晕,不知是否要这样?

select a.id, b.cname, sum(OPrice * (case when OGst = 'Y' then 1.05 else 1 end))
from a, b, c
where a.id = b.id and a.cid = b.cid and a.oid = c.oid

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧