结合两个SQL查询

时间:2013-05-07 19:46:59

标签: sql sql-server sql-server-2008

所以我对sql不太好,所以我一点都不知道这个问题: 我查询我们的数据库,它返回一个包含所有内容的列表

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

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

ImplementationId值都是在另一个表中的整数,这些表链接到我可以使用的每个项目的名称:

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

将返回“当前”,这是第一个查询中的ImplementationId 42的名称。

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

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

谢谢你们!

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

答案 2 :(得分: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