所以我对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
谢谢你们!
答案 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