Вот сценарий. В этой системе управления запасами есть предметы. Предметы могут быть составлены и сделать составные предметы. Например. Монитор, системный блок, клавиатура, мышь могут быть составлены в A1 (составной элемент)
Когда я назначаю элемент составному элементу, я использую поле со списком для создания элементов и выбора элементов. Затем я хочу сузить генерацию комбо-бокса только для элементов, которые не входят в составные элементы. (например, мышь m1 назначена составленному элементу A1. С другой стороны, я не хочу видеть ее в своем поле со списком) Я сделал следующий бесподобный запрос, чтобы отфильтровать элементы.
SELECT Item.ITEMID, Item.SN, Item.TYPE, Item.BRAND,
Item.LOCATION, Item.COMMENCEDDATE, Item.CONDEMNDATE,
Type.TypeName
FROM Type INNER JOIN
(Item LEFT JOIN
ComposedIItem
ON Item.[ITEMID] = ComposedIItem.[ITEMID]
)
ON Type.TYPEID = Item.TYPE
WHERE (((ComposedIItem.ITEMID) Is Null) XOR
(((ComposedIItem.ITEMID) Is Not Null) AND
((ComposedIItem.DETACHEDDATE) Is Not Null))
);
Конечно, существует ситуация, когда элемент может быть отделен от составного элемента, и позже он может быть снова назначен составным элементам.
В снимке вы можете найти мои работы.
sql работает хорошо, пока я не отсоединю его от составного элемента и снова не назначу его другому. Затем этот элемент все еще появляется в поле со списком.
Есть предложения?
Вот набор данных
https://imgur.com/a/EdRRbOx