こんにちは皆さん、私はこの SQL クエリ (MSSQL) を持っています。結合の結果が結果の重複なしで日付ごとに最新の行の「トップ」行を与えるクエリを実行しています。私はhttp://goo.gl/Uv0FRをやっています 事はこれです, 私はすでに SQL クエリを達成しています. ('','') 重複なし
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クエリに適切に変換できるかどうか、またはエラーの場所を教えてくれるかどうかを知りたいのです。
前もって感謝します。