У меня есть три таблицы (это соответствующие столбцы):
Table1
bookingid, person, role
Table2
bookingid, projectid
Table3
projectid, project, numberofrole1, numberofrole2
Table1.role может принимать два значения: "role1" или "role2".
Я хочу показать, какие проекты не имеют правильное количество ролей в Таблице 1. Количество ролей, которое должно быть для каждой роли, приведено в Таблице 3.
Например, если Таблица1 содержит эти три строки:
bookingid, person, role
7, Tim, role1
7, Bob, role1,
7, Charles, role2
и Таблица2
bookingid, projectid
7, 1
и Таблица3
projectid, project, numberofrole1, numberofrole2
1, Test1, 2, 2
Мне бы хотелось, чтобы результаты показали, что для проекта Test1 .
указано неправильное число
role2s .
Если честно, что-то вроде этого немного выходит за рамки моих возможностей, поэтому я открыт для предложений о том, как лучше всего это сделать. Я использую sqlite и php (это всего лишь небольшой проект). Я полагаю, что смогу что-то сделать с php в конце, как только получу результаты, но мне было интересно, есть ли лучший способ сделать это с помощью sqlite.
Я начал делать что-то вроде этого:
SELECT project, COUNT(numberofrole1) as "Role"
FROM Table1
JOIN Table2
USING (projectid)
JOIN Table3
USING (bookingid)
WHERE role="role1"
GROUP BY project
Но я не могу понять, как сравнить значение, возвращаемое как «Роль», со значением, полученным из numberofrole1
С благодарностью принимается любая помощь.