В вашей модели напишите что-то вроде этого:
public Nullable<bool> Active
{
get;
set;
}
public string ISActive
{
get
{
return (bool)this.Active ? "Yes" : "NO";
}
}
Active является логическим свойством, мы создаем свойство ISActive для чтения его значения и показываем соответствующее сообщение пользователю.
What вам нужен подзапрос в такой форме:
SELECT
name,
round,
score,
( select sum( score ) from scores sc where sc.userid = users.userid ) total
FROM users INNER JOIN scores on users.userid = scores.scoreid
Подзапрос в виде столбца будет рассчитываться для каждой строки, возвращаемой из исходного запроса.
Чтобы попытаться добавить его в свой запрос:
SELECT
participants.participant_id,
participants.participant_name,
participants.participant_gender,
classes.class_name,
schools.school_name,
participant_scores.participant_score,
participant_scores.participant_score_id,
( SELECT sum(participant_score) FROM participant_scores tbl_scores2
WHERE tbl_scores2.participant_score_id = participants.participant_id ) total
FROM participant_scores, participants, classes,
league_schools, schools, leagues, rounds
WHERE
leagues.league_id = 51 AND
rounds.league_id = 51 AND
rounds.round_id = 25 AND
participant_scores.round_id = 25 AND
league_schools.league_id = 51 AND
schools.school_id = league_schools.school_id AND
classes.school_id = schools.school_id AND
classes.year_group_id = leagues.year_group_id AND
participants.class_id = classes.class_id AND
participant_scores.participant_id = participants.participant_id
GROUP BY
participants.participant_id
Я был немного беспокоит подзапрос, включающий несколько лиг, но похоже, что один участник в любом случае может принадлежать только к одной лиге. Возможно, вам придется включить что-то в подзапрос, чтобы проверить это.
Чтобы попытаться добавить его в ваш запрос:
SELECT
participants.participant_id,
participants.participant_name,
participants.participant_gender,
classes.class_name,
schools.school_name,
participant_scores.participant_score,
participant_scores.participant_score_id,
( SELECT sum(participant_score) FROM participant_scores tbl_scores2
WHERE tbl_scores2.participant_score_id = participants.participant_id ) total
FROM participant_scores, participants, classes,
league_schools, schools, leagues, rounds
WHERE
leagues.league_id = 51 AND
rounds.league_id = 51 AND
rounds.round_id = 25 AND
participant_scores.round_id = 25 AND
league_schools.league_id = 51 AND
schools.school_id = league_schools.school_id AND
classes.school_id = schools.school_id AND
classes.year_group_id = leagues.year_group_id AND
participants.class_id = classes.class_id AND
participant_scores.participant_id = participants.participant_id
GROUP BY
participants.participant_id
Я немного беспокоился о подзапросе, включающем несколько лиг, но похоже, что один участник в любом случае может принадлежать только к одной лиге. Возможно, вам придется включить что-то в подзапрос, чтобы проверить это.
Чтобы попытаться добавить его в ваш запрос:
SELECT
participants.participant_id,
participants.participant_name,
participants.participant_gender,
classes.class_name,
schools.school_name,
participant_scores.participant_score,
participant_scores.participant_score_id,
( SELECT sum(participant_score) FROM participant_scores tbl_scores2
WHERE tbl_scores2.participant_score_id = participants.participant_id ) total
FROM participant_scores, participants, classes,
league_schools, schools, leagues, rounds
WHERE
leagues.league_id = 51 AND
rounds.league_id = 51 AND
rounds.round_id = 25 AND
participant_scores.round_id = 25 AND
league_schools.league_id = 51 AND
schools.school_id = league_schools.school_id AND
classes.school_id = schools.school_id AND
classes.year_group_id = leagues.year_group_id AND
participants.class_id = classes.class_id AND
participant_scores.participant_id = participants.participant_id
GROUP BY
participants.participant_id
Я немного беспокоился о подзапросе, включающем несколько лиг, но похоже, что один участник в любом случае может принадлежать только к одной лиге. Возможно, вам придется включить что-то в подзапрос, чтобы проверить это.