gpt4 book ai didi

c# - 从两个数据表中选择 Linq to SQL 中的不同和日期差异

转载 作者:太空宇宙 更新时间:2023-11-03 21:27:45 25 4
gpt4 key购买 nike

我试过下面的linq to sql查询

 DataTable StudentTable=StudentTimeReport.Tables[0];
DataTable RoundEndDateTable=RoundEndDates.Tables[0];
var studentData = from student in StudentTable.AsEnumerable()
join Rounds in RoundEndDateTable.AsEnumerable() on student.Field<string>("strActivityName") equals Rounds.Field<string>("strActivityName")
select student;

两个数据表如下

RoundEndDateTable

ActionName          End Date
SQLs 8/31/2014 0:00
Gas Lekage 9/18/2014 0:00
Test Activity 9/20/2014 0:00

学生表

ActionName          Player ID    Completed Date
Gas Lekage 810045 9/16/2014 14:38
Test Activity 810015 9/16/2014 14:39

我需要获取播放器的日期差异,如下所示

Player ID   Action Name     Date difference
810015 Gas leakage 2
810015 Test Activity 4

我不确定如何使用 Linq to SQL 获取具有日期差异的上表。

最佳答案

如果我对您的问题的理解正确,您希望这两个表由 ActionName 映射,并且您希望找到 CompletedDate 之间的天数差异每个玩家的日期

SELECT PlayerID, ActionName, MAX(DATEDIFF(DAY, Table1.Date, Table2.CompletedDate)) AS DateDifference
FROM Table1
INNER JOIN Table2 ON Table1.ActionName = Table2.ActionName
GROUP BY PlayerID, ActionName

如您所见,为了确保每位玩家获得单一结果,我取了最大差值。无论您是否需要,这当然是您的决定,但鉴于您的问题标题,我认为您确实这样做了。

关于c# - 从两个数据表中选择 Linq to SQL 中的不同和日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25986688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com