select b.品名, b.上期结存, a.zrk 本期入库, a.zck 本期出库, b.本期结存 from
(select 品名, sum(本期入库) zrk, sum(本期出库) zck from table1
where 日期>期初 and 日期<期末 group by 品名) a,
(select 品名, 上期结存, 本期结存 from table1 where 日期=最大日期) b
where b.品名=a.品名
没经过测试,你可以试试.
我看了一下YuBo的思路,应该可以,
但"(select 品名, 上期结存, 本期结存 from table1 where 日期=最大日期) b"该句
中的'日期=最大日期'的如何实现,在下见解如下,把表b改为(用SQl语句实现):
(select top 1 c.日期,c.品名 from table1 c) b
对不起,漏了一些东西
我看了一下YuBo的思路,应该可以,
但"(select 品名, 上期结存, 本期结存 from table1 where 日期=最大日期) b"该句
中的'日期=最大日期'的如何实现,在下见解如下,把表b改为(用SQl语句实现):
(select top 1 c.日期,c.品名,c.上期结存,c.本期结存 from table1 c) b
我认为应该如下:
select b.品名, b.上期结存, a.zrk 本期入库, a.zck 本期出库, C.本期结存 from
(select 品名, sum(本期入库) zrk, sum(本期出库) zck from table1
where 日期=>期初 and 日期<=期末 group by 品名) a,
(select top 1 品名, 上期结存 from table1 order by 日期) b,
(select top 1 品名, 本期结存 from table1 order by 日期 desc) c
where b.品名=a.品名 and b.品名=c.品名
Sorry,更正一下我的意见:
select b.品名, b.上期结存, a.zrk 本期入库, a.zck 本期出库, C.本期结存 from
(select 品名, sum(本期入库) zrk, sum(本期出库) zck from table1
where 日期=>期初 and 日期<=期末 group by 品名) a,
(select 品名, 上期结存 from table1 where 日期=期初 and
日期=>期初 and 日期<=期末) b,
(select 品名, 本期结存 from table1 where 日期=期末 and
日期=>期初 and 日期<=期末) c
where b.品名=a.品名 and b.品名=c.品名