У меня есть две таблицы student_behaviours (behaviour_id [PK], admission_no, rule_id [FK]) и behaviour_rules (rule_id, поведение, точки)

88
11

КАК получить сумму (behaviour_rules.points). если behaviour_rules содержит только две строки с 1 и -1 точкой. и admission_no получите 5 1point и 2 (-1) очков, тогда я ожидаю возврат 3 балла. но он всегда возвращает 0.

SELECT SUM(behaviour_rules.points) 
FROM student_behaviours
INNER JOIN behaviour_rules ON student_behaviours.rule_id = behaviour_rules.rule_id
WHERE student_behaviours.admission_no = 2001

спросил(а) 2021-01-28T01:49:43+03:00 3 месяца, 1 неделя назад
1
Решение
76

В своем предложении ON Вы присоединяетесь к той же таблице student_behaviours.rule_id = student_behaviours.rule_id вы должны объединить две таблицы tudent_behaviours.rule_id = behaviour_rules.rule_id

SELECT SUM(behaviour_rules.points) 
FROM student_behaviours
INNER JOIN behaviour_rules ON student_behaviours.rule_id = behaviour_rules.rule_id
WHERE student_behaviours.admission_no = 2001

ответил(а) 2021-01-28T01:49:43+03:00 3 месяца, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема