SQL - Uso de varias tabelas com GROUP BY

3 respostas
V

Olá, estou com a seguinte questão:
Selecione o primeiro nome (first_name) e o título do filme (film) de todos(as) os/as atores/atrizes (actor) associados(as) aos filmes da categoria (category) comédia (Comedy) (usar IN ou ANY).

Imagem do diagrama:

Até o momento consegui isto:

SELECT first_name, title, COUNT(*)

FROM ACTOR a, CATEGORY c, FILM f, FILM_CATEGORY fc, FILM_ACTOR fa

WHERE a.actor_id = fa.actor_id

AND fa.film_id = c.name in (Comedy)

GROUP BY c.name;

O problema é que não mostra nada kk, ele alega perda na conexão com o SQL, mas sei que é algum erro no código, já tentei varias formas mas não consegui. Se puder ajudar… Valeu

3 Respostas

C

Os campos que vc coloca no grupo by são todos os campos que vc colocou para exibição, no seu caso foi
first_name, title

Remove o c.name do grupo by e adicione o first_name, title,

V

Ainda estou com um problema, ele não está selecionando os filmes da categoria “Comedy”, na verdade ele parece ta pegando quase que aleatoriamente

P

Estás a selecionar de 5 tabelas diferentes mas apenas tens condições de JOIN entre duas. Faltam todas as outras condições.

Criado 17 de agosto de 2021
Ultima resposta 23 de ago. de 2021
Respostas 3
Participantes 3