亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

linq中帶兩個參數的WHERE IN子句

linq中帶兩個參數的WHERE IN子句

C#
Cats萌萌 2022-12-04 13:08:36
當我有一個參數的 WHERE IN 時,我使用 Contains 但是當我有兩個參數時它不起作用。我需要在 linq 中用 SQL 編寫一個子查詢:SELECT ename, sal, deptnoFROM empWHERE (sal, deptno) IN(SELECT MIN(sal), deptnoFROM empGROUP BY deptno);var min = (from emp in Emps                       group emp by new { Dzial = emp.Deptno} into grouped                       select new                       {                           grouped.Key.Dzial,                           wynik = grouped.Min(x => x.Sal)                       });            var result = (from emp in Emps                          where min.Contains(emp.Deptno, emp.Sal)                          select new                          {                              emp.Ename,                              emp.Sal,                              emp.Deptno                          });我試圖將 Where 分成兩個獨立的部分,但這并沒有改變任何東西。
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

您應該簡單地使用GroupBy,然后使用SelectMany在Where中應用您的“IN”條件,如下所示:

var result = Emps.GroupBy(g => g.Deptno).SelectMany(a => a.Where(b => b.Sal == a.Min(c => c.Sal)));

我還在 DotNetFiddle 上準備了一個小例子: https ://dotnetfiddle.net/p8aYJv


查看完整回答
反對 回復 2022-12-04
  • 1 回答
  • 0 關注
  • 224 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號