Запрос PTC WindChill также считывает удаленные ссылки

Я пытаюсь запросить базу данных WindChill, чтобы получить все дочерние части данной детали (сборки). То, что у меня есть прямо сейчас, это:

-- this is how sql server management studio rewrites an oracle join
SELECT    M1.WTPARTNUMBER AS COMPONENT, M2.WTPARTNUMBER AS ASSEMBLY, MAX(WTPARTUSAGELINK.AMOUNTA7) AS AMOUNT
FROM      WTPART, WTPARTMASTER M2, WTPARTUSAGELINK, WTPARTMASTER M1
WHERE     WTPART.IDA3MASTERREFERENCE = M2.IDA2A2 
                   AND WTPART.IDA2A2 = WTPARTUSAGELINK.IDA3A5
                   AND WTPARTUSAGELINK.IDA3B5 = M1.IDA2A2
GROUP BY  M2.WTPARTNUMBER, M1.WTPARTNUMBER
order by  M2.WTPARTNUMBER, M1.WTPARTNUMBER

Это работает в том смысле, что я получаю список каждой сборки и ее частей, которые я могу позже отфильтровать при построении своего дерева. Это прекрасно, всего около 1 тыс. сборок.

Проблема в том, что я также получаю строки, которые я удалил из WindChill (они не отображаются в веб-приложении WindChill). Я понимаю, что это долгий путь, но есть ли еще одна таблица, к которой мне нужно присоединиться, или что-то, чтобы получить, действительно ли включать потенциальную дочернюю часть?


person Blindy    schedule 09.02.2011    source источник
comment
Очень далеко, так как у меня нет опыта работы с WindChill, но я предполагаю, что в этих таблицах есть что-то вроде удаленного столбца, для которого устанавливается значение «Да» (или состояние устанавливается на «Удалено» и т. д.), когда вы удаляете их из веб-приложения (в отличие от к фактическому удалению данных). Если это так, вам просто нужно добавить к вашему запросу критерий delete = 'Yes' (или что-то еще).   -  person Craig    schedule 10.02.2011
comment
Да, действительно, но для неправильных строк также установлено значение false.   -  person Blindy    schedule 10.02.2011
comment
может кто-нибудь поделиться, если этот тип запроса является перспективным в контексте линейки продуктов Windchill stackoverflow.com/questions/54712891/   -  person ffejrekaburb    schedule 20.02.2019


Ответы (1)


Я считаю, что вы должны использовать конкретную версию детали, а не мастер детали.

Способ обработки спецификаций и сборок в Windchill заключается в том, что моментальные снимки связанных деталей делаются при каждой ревизии детали. Если конкретная часть «версия» не указана, вы получите «все».

Я не знаю SQL для этого, потому что я всегда использовал задачи информационного движка для достижения тех же результатов, избегая прямого контакта с базой данных. Существует встроенный веб-проект под названием «Дерево запросов», который при наличии объекта возвращает все связанные дочерние объекты. Поэтому, если мне нужен полный перечень материалов для детали, я просто запускаю веб-проект и передаю ему этот объект детали.

person Dortz    schedule 21.04.2011