找到2条缺失记录中的1条

时间:2017-08-03 12:31:05

标签: axapta dynamics-ax-2012 x++

InventItemLocation表应包含2条记录,1表示InventDimId'A',1表示InventDimId'B'。

我正在尝试搜索缺少InventDimId'A'的项目。

以下代码的问题在于它还显示包含InventDimId'A'(MissingInventDimId)的项目,因为它正在检查该行。

static void FindMissingInventItemLocation(Args _args)
{
    InventTable inventTable;
    InventItemLocation inventItemLocation;
    str info;

    while select inventItemLocation
    notexists join inventTable
    where inventTable.ItemId == inventItemLocation.ItemId &&
    inventItemLocation.inventDimId == 'MissingInventDimId' &&
    inventItemLocation.inventDimId == 'ExistingInventDimId'
    {
        info (inventItemLocation.ItemId);
    }

}

1 个答案:

答案 0 :(得分:3)

如果您要查找包含ExistingInventDimId但没有MissingInventDimId的记录,请尝试以下

static void FindMissingInventItemLocation(Args _args)
{
    InventItemLocation inventItemLocationExisting;
    InventItemLocation inventItemLocationMissing;
    str info;
    ;

    while select inventItemLocationExisting
        where inventItemLocationExisting.inventDimId == 'ExistingInventDimId'
    notexists join inventItemLocationMissing
        where inventItemLocationMissing.ItemId == inventItemLocationExisting.ItemId &&
              inventItemLocationMissing.inventDimId == 'MissingInventDimId'
    {
        info (inventItemLocationExisting.ItemId);
    }
}