我想要一个SQL查询来获取Enterprise Architect特定图表中的对象名称列表。
我的目标Diagram_ID是184
元素存储在t_object
和t_diagramobjects
中的图表对象(一个图中一个元素的图形表示)中。 t_diagramobjects
中的条目引用了图表(Diagram_ID
)和正在显示的元素(Object_ID
)。
t_object table
:列Object_ID
and Name
t_diagramobjects
表:列Object_ID
和Diagram_ID
如果我这样做:
从t_diagramobjects中选择Object_ID,其中Diagram_ID = 184
我得到了Object_ID
的列表,但我需要这些名字。我想要一个涉及t_object
表的查询来获取名称。
答案 0 :(得分:3)
编辑:重读您的问题,似乎您不了解加入。
这是一个链接(再次假设SQL Server):https://www.w3schools.com/sql/sql_join.asp
另一个编辑
以下是有关正常join
无效的原因的详细信息。
您可以以本地文件或数据库的形式拥有您的ea项目。存储在本地文件中时,它将存储为MS Access数据库。 MS Access不仅支持join
关键字,您需要设置inner join
,outer join
,left join
,right join
...
对于那些不知道的人,可以通过将新搜索创建为SQL查询来在本地文件项目中运行SQL查询。
图表对象表示您在图表上看到的可视元素。 表t_object包含存储库中的元素,因此您可以使用OBJECT_ID列进行简单连接。
此查询应适用于访问数据库(.eap文件)以及SQL Server数据库:
select o.name from t_object o
inner join t_diagramobjects do
on do.Object_ID=o.Object_ID
where do.Diagram_ID=184