32335


お世話になります。  
こちらのSQLをlinqに変換したいのですがなかなかうまく行きません。  
お手数ですが、ご教授いただけると幸いです。

[code]

    SELECT 　　 id
               ,kaisu
               ,henkou
               ,furigana 
               ,sex
               ,nengo
               ,birthday
               ,idno
      FROM tableA AS A,
      (
      SELECT id as Bid
          ,MAX(kaisu) as Bkaisu
      FROM tableA as B
      GROUP BY Bid
      ) as B
      where A.id = B.Bid and A.kaisu = B.Bkaisu
    order by A.id
    
[/code]

よろしくお願いします。


CC BY-SA 3.0
2017-02-02T09:02:15.237
32332
2017-02-02T09:50:40.103
19310
question
c# linq
linq　副問い合わせとmax値の取得について


グループ化クエリーの実現方法が分からないということでしょうか。

[code]

    SELECT id as Bid
         , MAX(kaisu) as Bkaisu
      FROM tableA as B
     GROUP BY Bid
    
[/code]

このようなクエリーは`GroupBy`および`Select`拡張メソッドを組み合わせて実現します。

[code]

    var b = tableA
                .GroupBy(r => r.id)
                .Select(g => new
                {
                    Bid = g.Key,
                    BKaisu = g.Max(r => r.kaisu)
                });
    
[/code]

このようにあらかじめクエリーを作成しておいて、変数`b`に対して通常のテーブルのように内部結合を行えば副問い合わせを実現できます。


CC BY-SA 3.0
2017-02-02T09:50:40.103
32335
2017-02-02T09:50:40.103
5750
32332
answer