组合两个SQL查询
所以我对sql不是很在行,所以我在这个问题上有点纠结: 我查询我们的数据库,它会返回其中所有内容的列表组合两个SQL查询,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,所以我对sql不是很在行,所以我在这个问题上有点纠结: 我查询我们的数据库,它会返回其中所有内容的列表 SELECT Id, Version, Name, ImplementationId, ManagedDataRepoId, Description, ParentId FROM Entity 例如,它返回: 317,0,amAsset,42,82,空,空 ImplementationId值是另一个表中的所有Int,该表链接到我可以使用以下方法检索的每个项目的名称: SELECT i.Nam
SELECT Id, Version, Name, ImplementationId, ManagedDataRepoId, Description, ParentId FROM Entity
例如,它返回:
317,0,amAsset,42,82,空,空
ImplementationId值是另一个表中的所有Int,该表链接到我可以使用以下方法检索的每个项目的名称:
SELECT i.Name from Implementation i
JOIN Entity e
ON e.ImplementationId = i.Id
它将返回“Current”,这是来自第一个查询的ImplementationID42的名称
有没有办法将这些组合成一个查询?理想情况下,它将返回:
317,0,amAsset,当前,82,空,空
谢谢大家 您已经在第二个查询中获得了连接;您只需选择所需的实际列
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
您已经在第二个查询中获得了联接;您只需选择所需的实际列
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
为安全起见,请为每列使用表别名
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
为安全起见,请为每列使用表别名
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
。。。为了让事情变得更漂亮(更具可读性),你可以用一种更标准的方式来布置它
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
。。。为了让事情变得更漂亮(更具可读性),你可以用一种更标准的方式来布置它
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
完美的这正是我需要的。有没有办法让它现在仍然将结果称为“ImplementationId”,而不是称它为“Name”?结果被解析为JSON,然后输入到DataTables显示中,因此它希望列标题是maintained@user2069834:有几种方法可以重命名列,但我在上面介绍了一种方法。这些是非常基本的SQL问题;我建议您阅读一下SQL查询。谢谢!是的,SQL通常不是我使用的东西,但是这个项目需要一点它,除了这一点,我几乎可以得到所有东西非常感谢!那么,是否可以进一步使用ManagedDataRepoID列执行此操作?从另一个名为ManagedDataRepo?@user2069834的表中获取该ID的名称:您可以根据需要加入任意多个表并继续相同的模式。只需添加另一个
JOIN。。。在
上,使用列列表中的表格。完美!这正是我需要的。有没有办法让它现在仍然将结果称为“ImplementationId”,而不是称它为“Name”?结果被解析为JSON,然后输入到DataTables显示中,因此它希望列标题是maintained@user2069834:有几种方法可以重命名列,但我在上面介绍了一种方法。这些是非常基本的SQL问题;我建议您阅读一下SQL查询。谢谢!是的,SQL通常不是我使用的东西,但是这个项目需要一点它,除了这一点,我几乎可以得到所有东西非常感谢!那么,是否可以进一步使用ManagedDataRepoID列执行此操作?从另一个名为ManagedDataRepo?@user2069834的表中获取该ID的名称:您可以根据需要加入任意多个表并继续相同的模式。只需添加另一个JOIN。。。打开
,并使用列列表中的表。