sql – 结合两个select语句的结果
发布时间:2020-05-25 03:25:55 所属栏目:MsSql 来源:互联网
导读:我正在使用T-SQL与ASP.NET,而c#和我是SQL的新手. 我想知道如何组合两个查询的结果 查询1: SELECT tableA.Id, tableA.Name, [tableB].Username AS Owner, [tableB].ImageUrl, [tableB].CompanyImageUrl, COUNT(tableD.UserId) AS NumberOfUsers FR
|
我正在使用T-SQL与ASP.NET,而c#和我是SQL的新手. 我想知道如何组合两个查询的结果 查询1: SELECT tableA.Id,tableA.Name,[tableB].Username AS Owner,[tableB].ImageUrl,[tableB].CompanyImageUrl,COUNT(tableD.UserId) AS NumberOfUsers
FROM tableD RIGHT OUTER JOIN
[tableB] INNER JOIN
tableA ON [tableB].Id = tableA.Owner ON tableD.tableAId = tableA.Id
GROUP BY tableA.Name,[tableB].Username,[tableB].CompanyImageUrl
QUERY2: SELECT tableA.Id,COUNT([tableC].Id) AS NumberOfPlans
FROM [tableC] RIGHT OUTER JOIN
tableA ON [tableC].tableAId = tableA.Id
GROUP BY tableA.Id,tableA.Name
任何帮助将不胜感激. 解决方法您可以使用 Union.这将以单独的行返回查询的结果. 首先,您必须确保两个查询返回相同的列. 那你可以做: SELECT tableA.Id,COUNT(tableD.UserId) AS Number FROM tableD RIGHT OUTER JOIN [tableB] INNER JOIN tableA ON [tableB].Id = tableA.Owner ON tableD.tableAId = tableA.Id GROUP BY tableA.Name,[tableB].CompanyImageUrl UNION SELECT tableA.Id,'' AS Owner,'' AS ImageUrl,'' AS CompanyImageUrl,COUNT([tableC].Id) AS Number FROM [tableC] RIGHT OUTER JOIN tableA ON [tableC].tableAId = tableA.Id GROUP BY tableA.Id,tableA.Name 如前所述,两个查询返回完全不同的数据.如果两个查询返回可能被认为是相似的数据,您可能只想这样做. 所以 您可以使用Join 如果两个查询之间共享一些数据.这将把这两个查询的结果都放在id中加入的单个行中,这可能是你想在这里做的更多的事情 你可以做: SELECT tableA.Id,COUNT(tableD.UserId) AS NumberOfUsers,query2.NumberOfPlans FROM tableD RIGHT OUTER JOIN [tableB] INNER JOIN tableA ON [tableB].Id = tableA.Owner ON tableD.tableAId = tableA.Id INNER JOIN (SELECT tableA.Id,COUNT([tableC].Id) AS NumberOfPlans FROM [tableC] RIGHT OUTER JOIN tableA ON [tableC].tableAId = tableA.Id GROUP BY tableA.Id,tableA.Name) AS query2 ON query2.Id = tableA.Id GROUP BY tableA.Name,[tableB].CompanyImageUrl (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 从具有动态sql的存储过程创建实体
- sql-server – SQL RESTORE WITH RECOVERY;挂起率为100%
- sql-server – 如何使用SSIS从平面文件中删除重复的行?
- sql-server – 存储过程与函数编译和性能差异
- sql-server – Sql Server 2005:什么数据类型用于存储通过
- 查询在.Net SqlCommand.ExecuteNonQuery中超时,适用于SQL S
- 如何使用T-SQL读取文本文件?
- 如何使用t-sql更新xml变量中的xml属性值?
- 查询SQLServer启动时间的三种方法
- sql – 日期格式返回为mm / dd / yyyy hh:mm:ss AM / PM
