Sql 如何选择没有日期在当前周的行的记录
我正在将linq查询移动到ado,似乎无法获得实现所需结果的正确语法 我有一个简单的设置,其中用户有关联的操作。我想选择不跟踪我并且在本周文件中没有任何操作记录的用户 这里是我试图转换的等效linq查询。注意,这些表名不同,但具有相同的精确模式Sql 如何选择没有日期在当前周的行的记录,sql,linq,tsql,Sql,Linq,Tsql,我正在将linq查询移动到ado,似乎无法获得实现所需结果的正确语法 我有一个简单的设置,其中用户有关联的操作。我想选择不跟踪我并且在本周文件中没有任何操作记录的用户 这里是我试图转换的等效linq查询。注意,这些表名不同,但具有相同的精确模式 var users = context.IG_Cats_Users.Where(p => p.IsFollowing == false
var users = context.IG_Cats_Users.Where(p => p.IsFollowing == false
& p.IsRequested == false &
!p.IG_Cat_Actions.Any(
a =>
DbFunctions.TruncateTime(a.Date) >=
first.Date
&
DbFunctions.TruncateTime(a.Date) <=
last.Date))
.Take(numOfUsers);
我想如果不存在我会试试的
但根据每个示例,它们都在子句中运行一个子查询。我想确保搜索的任何操作都与查询的第一部分中的用户相关联,但我不知道如何在TSQL中进行计算
编辑
关于日期:我已经在传递给函数的代码中创建了两个日期值。它是用C计算的,类似这样:
SELECT u.Id
FROM Users u
WHERE u.IsFollowing = 0 AND u.IsRequested = 0 AND
NOT EXISTS (SELECT 1
FROM Actions a
WHERE u.Id = a.UserId
);
好的,那么关联这两个查询的方法就是对实际的表进行别名。知道了!
SELECT u.Id
FROM Users u
WHERE u.IsFollowing = 0 AND u.IsRequested = 0 AND
NOT EXISTS (SELECT 1
FROM Actions a
WHERE u.Id = a.UserId
);