3

I have this query which I retrieve from 6 tables which gets the dates, rated, rater, classname, scores, subject.

SELECT r.date, u1.username as rated, u2.username as rater, c.name as classname, s.ratings, sbj.name
FROM Ratings r
 INNER JOIN Users u1 ON u1.userid = r.rated 
 INNER JOIN Users u2 ON u2.userid = r.rater 
 INNER JOIN ClassMembers cm ON u1.userid  = cm.userid
 INNER JOIN Class c ON cm.teamid = c.teamid
 INNER JOIN Scores s ON s.ratingsid = r.ratingsid 
 INNER JOIN Subjects sbj ON sbj.subjectid = s.subjectid

this results in

date         | rated | rater | teamname | score |  subject
10/12/2012    john     mike     teamA      9        Math
10/09/2012    john     mike     teamA      9        Science
10/09/2012    john     abra     teamA      5        Math
10/09/2012    john     abra     teamA      5        Science

I have to convert this query to a LINQ expression. I'm having a hard time converting my sql query into LINQ. Any help would be appreciated.

2 Answers 2

3

You could do this via join:

var results = from r in Ratings
              join u1 in Users on u1.userid = r.rated
              join u2 in Users on u2.userid = r.rater
              join cm in ClassMembers on cm.userid = r.rated
              join c in Class on cm.teamid = c.teamid
              join s in Scores on s.ratingsid = r.ratingsid
              join sbj in Subjects on sbj.subjectid = s.subjectid
              select new 
                     {
                        Date = r.date, 
                        Rated = u1.username,
                        Rater = u2.username,
                        ClassName = c.name,
                        Ratings = s.ratings,
                        Subject = sbj.name
                      };
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks! i tried something like that before i must've swapped the on equals. But this works perfect! You are the man!
do you know how to group these by ClassName c.name?
0

select distinct subcat as CatID,CatName,CatID as subcat,Subcategory from (select a.CatName,b.CatName as Subcategory,a.CatID as subcat,b.CatID from Iris_CategoryMaster a inner join Iris_CategoryMaster b on a.CatID=b.ParentID where b.Status=1) as x

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.