注册 登录
编程论坛 SQL Server论坛

求救??

copy462829 发布于 2008-05-09 17:06, 580 次点击
select a.id,a.sname,a.sstock,

isnull((select sum(b.number) from m_stockcontent
as b where   oddtype=1 and b.ddate>'2007-05-09' or b.ddate<'2008-05-10' and b.spid= a.id ),0) cg,

d.dname,a.spec,a.smanufa,a.stm,a.sremark from m_sp as a
 join m_dw as d on d.id=a.dw join m_kc as s on s.spid =a.id


cg 这列出现的数据都是一样的??? 请高手指点
4 回复
#2
copy4628292008-05-09 17:15
select a.id,a.sname,a.sstock,

isnull((select sum(b.number) from m_stockcontent
as b where   oddtype=1  and b.spid= a.id ),0) cg,

d.dname,a.spec,a.smanufa,a.stm,a.sremark from m_sp as a
join m_dw as d on d.id=a.dw join m_kc as s on s.spid =a.id

去掉时间就是正确的数据  

为什么去掉
and b.ddate>'2007-05-09' or b.ddate<'2008-05-10'

就正确了???

可是我必须要知道这段时间操作的数量  ????????????????
#3
copy4628292008-05-09 17:20
问题解决
select sum(number ) from m_stockcontent where   spid= 1001  and   oddtype=1  and ddate>'2007-05-09'
 or ddate<'2008-05-10' and spid= 1001  and   oddtype=1
#4
copy4628292008-05-09 19:02
这样做后 时间就无效了


select sum(b.number) from m_stockcontent as b
where b.spid= 1001 and oddtype=1 and b.ddate>='2010-05-10' or b.ddate<='2010-05-10' and b.spid= 1001
and b.oddtype=1

1001这行的ddate 是2008-05-09 08:38:10.377

可是以上代码照样显示数据  时间无效了
#5
copy4628292008-05-09 19:03
请个位看看 是什么回事
1