从多个表中获取唯一行

Posted

技术标签:

【中文标题】从多个表中获取唯一行【英文标题】:Getting unique rows from multiple tables 【发布时间】:2013-07-22 21:39:24 【问题描述】:

我有多个表,其中包含唯一的用户标识 guid 字段。我需要获取所有这些表中所有行的用户 ID 的 DISTINCT 计数。我还需要在控制器中访问此计数。我将如何在实体框架中执行此操作?或者使用某种存储过程会更好。谢谢。

【问题讨论】:

【参考方案1】:

使用 UNION 关键字怎么样?

SELECT guid FROM TABLE1
UNION
SELECT guid FROM TABLE2
UNION ....
SELECT guid FROM TABLEN 

参考:http://www.w3schools.com/sql/sql_union.asp

请注意,UNION 始终选择不同的值。所以,你应该很好。

您可以使用查询嵌套简单地获取计数。

Select count(City) FROM
(SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City);

【讨论】:

谢谢,但是如何在带有实体框架的控制器中使用它? 您使用的是实体 SQL 吗? msdn.microsoft.com/en-us/library/bb399797.aspx 这是 C# 中的一个示例 ***.com/questions/6483711/union-in-entity-framework

以上是关于从多个表中获取唯一行的主要内容,如果未能解决你的问题,请参考以下文章

如何从具有唯一列的表中获取行,由另一列决定

根据一个表中的唯一 ID 连接多个表

如何从给定表中获取唯一列?

SQL 表中记录的唯一组合(从节点表中获取边)

使用唯一随机值更新sql表中的所有行,而不使用c#中的主键或唯一键

sql server"已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行" 解决方案