2016-10-17 3 views
0

У меня есть два класса. Один атрибут класса 1 связан с другим атрибутом класса 2. Это было сделано с помощью контекстного меню соединителя в непосредственной близости от одного класса, оно называется Ссылка на элементную функцию. То же самое делается с другой стороны соединителя, чтобы выбрать другой атрибут другого класса. Таким образом, соединитель напрямую соединяет два атрибута, а не классы. Я не нашел таблицы, где эта информация хранится, поэтому я не нашел подходящий SQL для поиска связанных (или не связанных) атрибутов.SQL, Link to Element Feature

+1

** [EDIT] ** ваш вопрос и добавьте определение таблиц (как 'create table') некоторых выборочных данных и ожидаемого результата на основе этих данных. [_Formatted_] (http://stackoverflow.com/editing-help#code) ** текст **, пожалуйста, [без скриншотов] (http://meta.stackoverflow.com/questions/285551/why-may-i -not-upload-images-of-code-on-so-when-ask-a-question/285557 # 285557) И расскажите нам, какую СУБД вы используете –

ответ

1

Вот способ для заметок с помощью Link to..

  • PDATA1 = 'Атрибут'
  • PDATA2 = t_attribute.ID атрибута
  • PDATA3 = имя атрибута
  • PDATA4 имеет 'Да' (Я не помню, для чего это возможно, поэтому вы, вероятно, можете его игнорировать

Первый SQL:

SELECT PDATA2 FROM t_object WHERE Object_Type='Note' AND PDATA1 = 'Attribute' 

предоставит вам удостоверение личности. Просто положите это в другой SQL:

SELECT * FROM t_attribute WHERE ID = (above SQL) 

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

Для ассоциаций, использующих Link to..., это немного сложнее. Во-первых, любые такие соединители имеют соответствующую информацию, хранящуюся в t_connector.StyleEx, например, например.

LFEP={69A30E17-23AB-4641-9573-9BDBAA988D52}L; 

LF<dir>P=<guid><pos>; разъем прикреплен к атрибут/операции <dir> = S или Е означает Start (источник) или End (цель) <guid> = ea_guid из t_attribute или t_operation

<pos> является краем (L или R), где соединитель был присоединен в момент создания ссылки. Это лишняя информация, так как рендеринг будет прикреплять ссылку к любому месту.

Там может быть один LFSP, один LFEP или оба присутствуют в одном собственности StyleEx

(от моей Внутри книги)

Теперь вы можете фильтровать эту информацию с помощью SQL или (что я предпочитаю) с небольшим скриптом, поскольку выполнение сложных операций с строкой SQL не является моим опытом.

+0

Большое спасибо, она отлично работает, чтобы найти атрибуты, которые имеют связанная заметка, поэтому она соответствует редактируемому вопросу. На самом деле мне нужно что-то другое. У меня есть два класса.Один атрибут класса 1 связан с другим атрибутом класса 2. Это было сделано с помощью контекстного меню соединителя в непосредственной близости от одного класса, он называется «Ссылка на элемент». То же самое на другой стороне разъема, чтобы выбрать другой атрибут. Таким образом, соединитель напрямую соединяет два атрибута, а не классы. Я не нашел таблицы, где хранится эта информация. – AchimHillen

+0

Я добавил, как пойти на «другую» ссылку на ... –