在AIT1表中LogInstanc的目的是什么?

时间:2017-02-28 08:28:27

标签: sql-server sapb1

我需要查找当前的商品价格和上次历史价格,但我不知道如何创建查询,因为我不知道LogInstanc的用途是什么?因为我想在表aitm,itm1,ait1中使用它进行比较。然后使用sql server management 2014。

1 个答案:

答案 0 :(得分:0)

LogInstanc是一个递增数字,表示行的版本号。它从1开始,并为写入表的每个记录版本递增。有一个最大历史记录设置(在公司设置中),一旦达到此数字,将删除最旧的行。

对于AITM表,LogInstanc和ItemCode都定义了主键。

对于AITM中的每一行,您可以在AIT1中拥有零个或多个匹配的行。对于此表,LogInstanc,ItemCode和PriceList是主键。

以下是一个示例,显示所有商品的当前和最后价格,价目表1:

SELECT itemcode
       ,(
              SELECT TOP 1 price
              FROM itm1
              WHERE itm1.itemcode = oitm.itemcode
                     AND pricelist = 1
              ) AS currentprice
       ,(
              SELECT TOP 1 price
              FROM ait1
              WHERE ait1.itemcode = oitm.itemcode
                     AND pricelist = 1
              ORDER BY LogInstanc DESC
              ) AS lastprice
FROM oitm