Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在一个字段的基础上获取记录,该字段应该是不同的_C#_Asp.net_Sql_Sql Server_Database - Fatal编程技术网

C# 在一个字段的基础上获取记录,该字段应该是不同的

C# 在一个字段的基础上获取记录,该字段应该是不同的,c#,asp.net,sql,sql-server,database,C#,Asp.net,Sql,Sql Server,Database,我有类似的疑问 SELECT distinct(a.CreatedOn), a.id AS ID , u1.FirstName CreatedByFirstName, u1.LastName FROM AuditDetail a LEFT JOIN UserProfile u1 ON a.CreatedBy = u1.UserProfileID LEFT JOIN UserProfile u2 ON a.UpdatedBy = u2.UserPr

我有类似的疑问

    SELECT distinct(a.CreatedOn),
       a.id AS ID ,
       u1.FirstName CreatedByFirstName,
       u1.LastName
FROM AuditDetail a
LEFT JOIN UserProfile u1 ON a.CreatedBy = u1.UserProfileID
LEFT JOIN UserProfile u2 ON a.UpdatedBy = u2.UserProfileID
这显示了所有的记录。每个记录中也会重复使用不同的createdon,因为所有记录都会提交。我希望如果createdon在所有记录中都是相同的,那么它的第一个记录或单个记录不应该全部出现。我错在哪里


您可以使用
排名功能
,例如
行数()
,它为每个组的每条记录提供排名

WITH recordList
AS
(
    SELECT  a.CreatedOn,
            a.id as ID ,
            u1.FirstName CreatedByFirstName, 
            u1.LastName,
            ROW_NUMBER() OVER(PARTITION BY a.CreatedOn ORDER BY a.CreatedOn) rn
    FROM    AuditDetail a 
            left join UserProfile u1 
                on a.CreatedBy = u1.UserProfileID 
            left join UserProfile u2 
                on a.UpdatedBy = u2.UserProfileID
)
SELECT  CreatedOn,
        ID,
        CreatedByFirstName,
        LastName
FROM    recordList
WHERE   rn = 1
试试这个

可能会帮助您,使用子查询

SELECT a.CreatedOn,
       a.id AS ID ,
       u1.FirstName CreatedByFirstName,
       u1.LastName
FROM AuditDetail a
LEFT JOIN UserProfile u1 ON a.CreatedBy = u1.UserProfileID LEFT joinUserProfileu2 ON a.UpdatedBy = u2.UserProfileID
WHERE a.CreatedOn IN
    (SELECT DISTINCT CreatedOn
     FROM AuditDetail)

你能提供你从这份声明中得到的样本结果吗?检查daigram!与上图相同的结果显示@“ID”不同,它应该返回重复的createdon。如果您想要一个createdon记录,您应该去掉a.id选择。