我有一个包含主文件信息的库存表和 2 个移动历史表(当年和去年)。
我想使用查询来提取从(例如)去年六月到今年三月的代码,日期序列中的运动。
我对 SQL 比较陌生,并尝试使用以下 INNER JOIN 结构来执行此操作:
SELECT Code, Descrip, Category, MLast.Date, MLast.DocNo, MCurr.Date, MCurr.DocNo
FROM Stock AS S
INNER JOIN MoveTrnArc MLast ON MLast.Stockcode = S.Code
AND MLast.Date >='2011/06/01' AND MLast.Date <='2012/03/31'
INNER JOIN MoveTrn MCurr ON MCurr.Stockcode = S.Code
AND MCurr.Date >='2011/06/01' AND MCurr.Date <='2012/03/31'
ORDER BY S.Code
这将创建一个具有以下列结构的查询表:
Code | Descrip | Category | Date | DocNo | Date | DocNo |
... LAST Year 表中的数据出现在第一个 Date/DocNo 列中,CURRENT Year 数据出现在第二个 Date/DocNo 列中。
我必须对查询做些什么才能让每个运动都在自己的行中,或者是否有更好、更有效的查询来实现这一点?
另外,我需要代码中列出的运动,然后是日期序列。