У меня есть две таблицы abb
и abb_click
.Группа и счет возвращены SQL
abb
содержит информацию об объекте ident, который активен. abb_click
содержит информацию от каждого student_id относительно каждого ident.
Я «просто» хочу считать активное идент в abb_click
для конкретного student_id.
SELECT, ниже, кажется, рассчитывать только активный IDENT с, не принимая никакого беспокойства, если идент в abb_click
.
Вы можете увидеть скрипку здесь: http://sqlfiddle.com/#!9/b7262/1
Результат должен быть: для student_id 945 - 2 активных идент сек
Вопрос: Как я " tweak "SELECT для подсчета активных идентификатор s в таблице abb
присоединился к abb_click
?
SELECT t.student_id, number_of_idents
FROM `abb_click` AS t
INNER JOIN
(SELECT ident, COUNT(ident) as number_of_idents FROM `abb` AS k
WHERE k.active = '1'
) AS t3
ON t.ident = t3.ident
WHERE t.student_id = '945'
GROUP BY t.student_id
ORDER BY number_of_idents ASC;
Таблица abb
bid, ident, active
Таблица abb_click
kid, ident, student_id, click
данных в таблице abb
1, 'ma53', 1
2, 'ma664', 1
3, 'ma779', 0
4, 'ma919', 1
Данные таблицы abb_click
1, 'ma53', 945, 'E'
2, 'ma53', 945, 'E'
3, 'ma53', 945, 'C'
4, 'ma664', 945, 'C'
5, 'ma664', 945, 'A'
6, 'ma664', 945, 'E'
7, 'ma779', 945, 'A'
Очень аккуратно и отлично работает (с дополнительным 'AND student_id = 945'). Большое спасибо за ваше время и помощь. Спасибо @Sander! – Per76