0

所以我不擅长 sql 所以我有点卡在这个问题上:我查询我们的数据库,它返回一个包含所有内容的列表

SELECT Id, Version, Name, ImplementationId, ManagedDataRepoId, Description, ParentId FROM Entity

例如返回:317, 0, amAsset, 42 , 82, null, null。

ImplementationId 值都是 int,它们位于另一个表中,链接到每个项目的名称,我可以使用以下方法检索:

SELECT i.Name from Implementation i
JOIN Entity e
ON e.ImplementationId = i.Id

这将返回“ Current ”,这是来自第一个查询的 ImplementationId 42 的名称。

有没有办法将这些组合成一个查询?理想情况下它会返回:

317, 0, amAsset,当前, 82, null, null

多谢你们!

4

3 回答 3

3

您已经在第二个查询中获得了联接;您所要做的就是选择您想要的实际列。

SELECT e.Id, e.Version, e.Name, i.Name AS ImplementationId, e.ManagedDataRepoId, e.Description, e.ParentId
FROM Implementation i
     JOIN Entity e
         ON e.ImplementationId = i.Id
于 2013-05-07T19:49:43.767 回答
2

为了安全起见,请为每一列使用表别名

SELECT e.Id, e.Version, e.Name,i.Name, e.ManagedDataRepoId, e.Description, e.ParentId from Implementation i
JOIN Entity e
ON e.ImplementationId = i.Id
于 2013-05-07T19:52:14.247 回答
0

...为了使事情变得漂亮(并且更具可读性),您可以以更标准的方式进行布局;

SELECT e.Id, 
       e.Version, 
       e.Name,
       i.Name, 
       e.ManagedDataRepoId, 
       e.Description, 
       e.ParentId 
FROM   Implementation i
       INNER JOIN Entity e
        ON e.ImplementationId = i.Id
于 2013-05-07T21:53:44.173 回答