SQL 查询以获取 Enterprise Architect 图中的对象名称

SQL query to get object names in Enterprise Architect diagram

我想要一个 SQL 查询来获取 Enterprise Architect 特定图表中的对象名称列表。

我的目标Diagram_ID是184

元素存储在 t_object 中,图表对象(一个元素在一张图表中的图形表示)存储在 t_diagramobjects 中。 t_diagramobjects 中的条目引用了图表 (Diagram_ID) 和正在显示的元素 (Object_ID)。

如果我这样做:

select Object_ID from t_diagramobjects where Diagram_ID=184

我得到了 Object_ID 的列表,但我需要名字。我想要一个涉及 t_object table 的查询来获取名称。

编辑: 重读你的问题,你似乎不知道 join

这是一个link(假设又是SQL服务器):https://www.w3schools.com/sql/sql_join.asp


另一个编辑

这里有更多关于为什么正常 join 不起作用的详细信息。

您的 ea 项目可以本地文件或数据库的形式存在。当存储在本地文件中时,它存储为 MS Access 数据库。 MS Access 不单独支持 join 关键字,您需要输入 inner joinouter joinleft joinright join...

对于那些不知道的人,您可以通过创建一个新搜索作为 SQL 查询,在本地文件项目中 运行 SQL 查询。

图表对象表示您在图表上看到的视觉元素。 table t_object 包含存储库中的元素,因此您可以与 OBJECT_ID 列进行简单连接。

此查询应该适用于访问数据库(.eap 文件)以及 SQL 服务器数据库:

select o.name from t_object o
inner join t_diagramobjects do
on do.Object_ID=o.Object_ID
where do.Diagram_ID=184