获取企业架构图中对象名称的SQL查询

获取企业架构图中对象名称的SQL查询,sql,enterprise-architect,Sql,Enterprise Architect,我需要一个SQL查询来获取企业架构师的特定图表中的对象名称列表 我的目标图ID是184 元素存储在t\u object中,图表对象(一个图表中一个元素的图形表示)存储在t\u diagramobjects中。t\u diagramobjects中的条目引用了图表(diagram\u ID)和正在显示的元素(Object\u ID) t\u对象表:包含列object\u ID和Name t\u diagramobjects表:包含列Object\u ID和Diagram\u ID 如果我这样做

我需要一个SQL查询来获取企业架构师的特定图表中的对象名称列表

我的目标图ID是184

元素存储在
t\u object
中,图表对象(一个图表中一个元素的图形表示)存储在
t\u diagramobjects
中。
t\u diagramobjects
中的条目引用了图表(
diagram\u ID
)和正在显示的元素(
Object\u ID

  • t\u对象表
    :包含列
    object\u ID
    和Name

  • t\u diagramobjects
    表:包含列
    Object\u ID
    Diagram\u ID

如果我这样做:

从图ID=184的图对象中选择对象ID


我得到了
Object\u ID
s的列表,但我需要名称。我需要一个涉及
t\u object
表的查询来获取名称。

编辑:重读您的问题,似乎您不知道加入

下面是一个链接(再次假定为SQL Server):


另一次编辑

下面是有关正常的
联接
不起作用的更多详细信息

您可以将ea项目以本地文件或数据库的形式存在。当存储在本地文件中时,它将存储为MS Access数据库。MS Access不支持仅使用
连接
关键字,您需要将
内部连接
外部连接
左连接
右连接

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

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

此查询应适用于access数据库(.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

您也可以执行子查询,但联接要简单得多。在这种情况下,我对联接有点了解,但我没有设法获得一个工作联接查询。您的查询是我第一次尝试的查询,但由于“FROM子句中的语法错误”而失败。我正在“企业架构师”中使用“SQL Scratch Pad”。@Robert您的项目是在数据库中还是作为本地文件打开的?@Robert尝试使用内部连接而不是连接,更新了我的答案