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

Find 1 of the 2 missing records

InventItemLocation table 应包含 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);
    }

}

如果您尝试查找包含 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);
    }
}