У меня есть эта таблица после объединений:
p_id |a_name |bY | city | a_id |p_id| role |t_name|p_id|
304804123|Shir |1980|beer sheba|304804123|111 |meri |Abima |111 |
304226152|Noa |1992|tel aviv |304226152|111 |sonia |Abima |111 |
251445841|Avi |1998|haifa |251445841|222 |tov tov |Miskan|222 |
204458952|Dani |1993|sderot |204458952|222 |gamad |Abima |222 |
221354875|Osher |1995|beer sheba|221354875|333 |prince |Akamri|333 |
304804123|Shir |1980|beer sheba|304804123|222 |princes |Abima |222 |
304804123|Shir |1980|beer sheba|304804123|333 |singar |Abima |333 |
304226152|Noa |1992|tel aviv |304226152|333 |singarit |Abima |333 |
304226152|Noa |1992|tel avia |304226152|333 |singarit2|Abima |333 |
мне нужно из таблицы имена всех актеров (a_name), которые сыграли не менее трех пьес (p_id) и чей год рождения (bY)1980 или больше.я могу получить его в соответствии со следующим запросом:
SELECT a_name FROM (SELECT *, COUNT(Play.p_id) AS
COUNT_NUM_OF_PLAY_EACH_ACTOR
FROM Actor, Play, Role WHERE
Actor.a_id = Role.a_id AND Role.p_id = Play.p_id
GROUP BY a_name) WHERE COUNT_NUM_OF_PLAY_EACH_ACTOR >= 3
AND birthYear >= 1980;
результат:
Noa
Shir
, но добавил к моему условию, что если игрок появился в более чем одной роли в одной и той же, показать егодо сих пор считается одним шоу.В моем запросе актер Ноа сыграла в 111, 444, 333 шоу, но она сыграла 2 роли в 333 шоу, как я могу рассматривать это как одно шоу?
желаемый результат:
Noa <- remove this because noa played in 2 shows only and not 3.
Shir