大家好,我有这个 SQL 查询(MSSQL),我正在做一个查询,其中连接的结果按日期为我提供了最新行的“顶”行,而没有重复的结果,你可以在这里找到我的信息我在做http://goo.gl/Uv0FR事情是这样的,我已经完成了 SQL 查询,正在按预期工作,我为每个 IDKEY 在子句“where pi.PlazaIe in ('','') 不重复
Select * from PlazaI pi
join (
Select * from PlazaE pe where
NOT EXISTS(SELECT 1 FROM PlazaE pe1
WHERE pe.Id_plaza = pe1.Id_plaza AND pe1.Fecha > pe.Fecha AND pe1.Fecha < GETDATE() and pe1.Id_Emp != 0)
) pe on pe.Id_plaza = pieepo.Id_plaza
join Emp e on pe.Id_Emp = e.Id_Emp
join View ct on ct.Id_Nodo = pe.id_nodo
where pi.PlazaIe in ('value1','value2')
问题是当我试图从 SQL 转换为 LINQ 时是无法实现的。(我是这个 Linq 世界的新手)
以下是我的 linq 查询。
var q1 = (from pe in db.PlazaEmpleados
where !db.PlazaEmpleados.Any
(
pe1 => (pe1.Id_plaza.Equals(pe.Id_plaza) && pe1.Fecha > pe.Fecha && pe1.Id_Emp != 0 && pe1.Fecha > DateTime.Now)
) select pe);
var q2 = (from pi in db.Context
join pe in (q1) on pi.Id_plaza equals pe.Id_plaza
select new EmpVO
{
Id_Nodo = pe.id_nodo,
Id_plaza = pi.PlazaSome,
Num_Plaza = pi.Id_plaza,
});
当我运行这个 linq2sql 查询时,我得到了重复的结果,而不是每个值只有 1 个。所以问题是,我想知道是否有人可以以一种好的方式将 SQL 查询转换为 LINQ 查询,或者指出错误在哪里。
提前致谢。