select 编号,属性1,
isnull((select sum(收数)-sum(发数) from t where 日期<'stratdata'),0) as 上次结存,
isnull((select sum(收数)-sum(发数) from t where 日期<'endata'),0) as 本次结存,
isnull((select sum(收数) from t where 日期>='stratdata' and 日期<'endata'),0) as 期间收数,
isnull((select sum(收数) from t where 日期>='stratdata' and 日期<'endata'),0) as 期间发数
from t group by 编号,属性1
运行结果,所有上次结存,本次结存,期间收数,期间发数全为一样
isnull((select sum(收数)-sum(发数) from t where 日期<'stratdata'),0) as 上次结存,
isnull((select sum(收数)-sum(发数) from t where 日期<'endata'),0) as 本次结存,
isnull((select sum(收数) from t where 日期>='stratdata' and 日期<'endata'),0) as 期间收数,
isnull((select sum(收数) from t where 日期>='stratdata' and 日期<'endata'),0) as 期间发数
from t group by 编号,属性1
运行结果,所有上次结存,本次结存,期间收数,期间发数全为一样
isnull((select sum(收数)-sum(发数) from t where 日期<'stratdata'),0) as 上次结存,
isnull((select sum(收数)-sum(发数) from t where 日期<'endata'),0) as 本次结存,
isnull((select sum(收数) from t where 日期>='stratdata' and 日期<'endata'),0) as 期间收数,
isnull((select sum(收数) from t where 日期>='stratdata' and 日期<'endata'),0) as 期间发数
from t group by 编号,属性1
你的 日期<'stratdata',日期<'endata'...日期可能有问题,
建议你先用select 查询试一试