急求救--我的sql语句有问题吗?(50分)

  • 主题发起人 主题发起人 taim
  • 开始时间 开始时间
T

taim

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我要统计一段时间内的数据,服务器中有两个库总库zk和当日库drk,在客户端没有初始化数据库之前
当日库中是当天的数据,否则数据写入总库并清空.
我用sql统计一段时间的收入情况,当在当日库中有数据并且统计日期包括当日时,应该是查询出总库中数+当日库数之和,
但是sql查询出来的结果什么也不显示.不明白.
我的sql如下:
select zk.zhan,sum(zk.sr)+sum(drk.sr)
from zk,drk
where zk.zhan=drk.zhan and riqi>=日期1 and riqi<=日期2
group by zk.zhan
请各位大虾帮忙解决.多谢
 
把源码贴出来 分析
 
这样哪能看出问题
 
1.你的SQL,riqi是谁的riqi?
2.这SQL,如果任意一边没有数据,结果都是空的。
3.如果是 MSSQL,改为:
select s.zhan, sum(s.sr)
from (
select zhan, sum(sr) sr from zk where riqi between 日期1 and 日期2
union
select zhan, sum(sr) sr from drk where riqi between 日期1 and 日期2
) as s
 
还是把原码贴出来把
 

select zk.zhan,sum(zk.sr+drk.sr)
from zk
inner join drk
on zk.zhan=drk.zhan
group by zk.zhan
where
zk?.riqi between #日期1# and #日期2#
 
你的关联条件是有误的,象你这样查是查找zk与drk相关联的记录,应改为:
select zhan,sum(sr)
from zk
where riqi>=日期1 and riqi<=日期2
union
select zhan,sum(sr)
from drk
where riqi>=日期1 and riqi<=日期2
 
后退
顶部