У меня есть три таблицы.Давайте назовем их a, b и a_to_b.a_to_b содержит (среди прочего) уникальные идентификаторы из a и b для обеспечения связи между a и b (очевидно).a выглядит примерно так:
a_id, max_b, ...
a_to_b выглядит примерно так:
a_id, b_id, ...
Я хотел бы создать запрос, похожий на:
select a.a_name, a.max_b, a_to_b.(number of times a_id appears in a_to_b) for a, a_to_b where ...
только я не знаю правильных вопросов, чтобы задать Google, чтобы узнать, как это сделать.
Подводя итог, мне не важны отдельные случаи появления b_id в a_to_b, сколько раз появляется a_idв этой таблице.
Надеюсь, в этом было достаточно смысла, чтобы увидеть, чего я пытаюсь достичь.Спасибо за помощь.
РЕДАКТИРОВАТЬ
Теперь, когда я его запустил, я понял, что пропустил часть запроса.
Это полная история.Извините за предыдущее неправильное направление.
таблица A:
group_id
other_stuff
таблица B:
user_id
other_stuff
таблица A_to_B:
group_id
user_id
m_type (int used to determine user's role in the group)
Желаемый вывод:
a.group_id, a_to_b.count(of group_id where m_type=4), b.user_id (user_id from a_to_b from the group_id that was grouped where m_type=2)
Опять прошу прощения за репост.Я должен был быть более осторожным, когда спрашивал в первый раз.Хотелось бы, чтобы я был достаточно знаком с этим материалом, чтобы иметь возможность переводить то, что дал Расика, но я попробовал кучу вещей, и MySQL просто продолжает на меня кричать.
БОЛЬШЕ РЕДАКТИРОВАТЬ
Я немного поэкспериментировал с тем, что написал Расика, и придумал этот беспорядок:
select classes.class_id, classes.spaces - ifnull(dUtC.students,0) as openings, classes.semester_id, dUtC.teacher, users.fname, users.lname from (select teachUtC.class_id as class_id, numUtC.students as students, teachUtC.user_id as teacher from (select class_id, count(*) as students from users_to_classes where participation_level=4 group by class_id) as numUtC right join (select class_id, user_id from users_to_classes where participation_level=2) as teachUtC on teachUtC.class_id=numUtC.class_id) as dUtC, classes, users where users.user_id=dUtC.teacher and dUtC.class_id=classes.class_id
Это работает, но я не могу не думать, что делаю это неправильно ... Я хотел бычтобы узнать, есть ли более чистый способ написать это.
Спасибо