2010-12-20 11 views
0

私は過去数日間、linqに変換しようとしている動作中のSQLクエリを持っています。私はここと様々なサイトの両方でいくつかの投稿を読んだが、これを動作中のlinqクエリに変換しようとする私の試みは成功していない。追加と結合を伴うSQLクエリをlinqに変換するには

私は具体的に問題を抱えている部分は、(合計スコア値を得るために個々のスコアを追加して)数学を扱い、Schoolsテーブルから値を取得して私のビューに渡すことができます。ここで

は、SQLクエリです:

from s in db.Schools 
join b in db.Bowlers on s.school_id equals b.school_id 
select b; 

をすべてのヘルプははるかに高く評価されるだろう:物事を壊し始める前に、ここで

SELECT bowler_name, school_name, bowler_gm1, bowler_gm2, bowler_gm3, bowler_gm4, bowler_gm5, bowler_gm6, (ISNULL([bowler_gm1],0)+ISNULL([bowler_gm2],0)+ISNULL([bowler_gm3],0)+ISNULL([bowler_gm4],0)+ISNULL([bowler_gm5],0)+ISNULL([bowler_gm6],0)) AS total_score 
FROM Bowlers 
JOIN Schools ON Schools.school_id = Bowlers.school_id 
ORDER BY total_score DESC; 

は限り私はLINQクエリで取得するようです。ありがとう!

答えて

1

このようなものは、あなたの道に助けてくれるでしょう。

from s in db.Schools 
join b in db.Bowlers on s.school_id equals b.school_id 
select new { 
    bowler_name = b.bowler_name, 
    ... 
    totalscore = bowler_gm1 + bowler_gm2 + bowler_gm3 ... 
}; 

は、ゲーム数としてGameNumber、あなたがボウラーするFKとしてPK、BowlerIDとして GameIDでBowlerGame表を作成した場合にNULL値を処理するためにはるかに容易になりますし、最終的にそのゲームのスコア

+0

としてスコア助けてくれてありがとう - 私はこれをまとめて、ただ今見ているだけです。ありがとう! – chemqueen

関連する問題