|
![]() |
#1 |
Участник
|
Цитата:
Изначально опубликовано mazzy
exist join в Аксапте вообще не так делается. почитайте руководство разработчика, ключевое слово select statement ![]() Перформулирую вопрос по другому: Мне нужно отфильтровать записи в InventTable специальным образом: существует некая таблица категорий (или классификатор по другому), где каждый товар может входить в одну категорию, а категория может входить в другую категорию (другими словами - дерево). Для быстрой фильтрации предусмотрена вспомогательная, в целом избыточная по данным таблица взаимосвязей между группами и их подгруппами так, что в SQL фильтр для таблицы товара выглядел бы как дополнительное условие в WHERE: (InventTable.ClassifierId = SelectedClassifId) OR EXISTS (SELECT ChildId FROM InventClassifierRelations WHERE InventClassifierRelations.ParentId = SelectedClassifId) Т.е. выражает то условие, которое я описал выше - выбрать товар, только если его родителем является "выбранный узел" классификатора, либо любой узел классификатора, одним из родителей которого является "выбранный узел". Пробовал добавить на форму InventTable датасоурс к уже заполненному классификатору и настроить датасоурс InventTable так, чтобы он фильтровал записи хотя бы просто по EXISTS JOIN на InventClassifierRelations, ничего не получилось по непонятным для меня причинам - непонятно еще по каким полям пытаются связаться эти датасоурсы. В общем думаю понятно что я мало чего понимаю, и мне нужен совет как лучше реализовать такую задачу, если оно вообще возможно в аксапте. ![]() P.S. Заранее прошу не предлагать мне использовать "Абстрактный классификатор" - он не соответствует нашим целям. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|