Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fernandopaiva

select em tabelas ?

Recommended Posts

Salve galera, eu montei um modelo relacional de trabalho pra faculdade e estou com duvidas de fazer 2 select, tentei fazer aqui mas num deu certo.

 

selects

1 - pesquisar os autores que tem livros em mais de 1 area
2 - pesquise os alunos que ja emprestaram o livro 15 mais de uma vez

 

Projeto relacional.

EA4.png?async&0.12277177581563592

 

 

como seria esse select ?? Seria necessario usar Subselect ?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, terá de usar "joins" com as tabelas envolvidas, contar(COUNT) agrupando ( GROUP BY) e usar o HAVING para testar a condição pedida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, terá de usar "joins" com as tabelas envolvidas, contar(COUNT) agrupando ( GROUP BY) e usar o HAVING para testar a condição pedida.

 

Fala Motta, blz ???

 

Estou tentando assim os selects

 

 

//pesquisa os autores que tem livros em mais de 1 area
SELECT COUNT(*) AS TOTALAREA, id_autor, autor, isbn, titulo, id_tema, descricao FROM livros
LEFT JOIN autores ON (livros.id_autor = autores.id_autor)
LEFT JOIN tema ON (livros.id_tema = tema.id_tema)
LEFT JOIN area ON (tema.id_area = area.id_area)
WHERE TOTALAREA > 1
GROUP BY id_autor, autor, isbn, titulo, id_tema, descricao
 
 
//pesquise os alunos que ja emprestaram o livro 15 mais de uma vez
SELECT COUNT(*) AS TOTALEMPRESTIMO, nome, id_emprestimo FROM pessoa
LEFT JOIN tipopessoa ON (tipopessoa.id = pessoa.idTipoPessoa)
LEFT JOIN emprestimos ON (emprestimos.id_pessoa = pessoa.id_pessoa)
LEFT JOIN itens_emprestimo ON (itens_emprestimo.id_emprestimo = emprestimos.id_emprestimo)
LEFT JOIN livros ON (livros.isbn = itens_emprestimo.isbn)
WHERE livros.isbn = 15
GROUP BY nome, id_emprestimo
HAVING TOTALEMPRESTIMO > 1

 

 

Seria isso ??? nao estou tendo como testa-los pq num tenho nenhuma base de dados pra testar aqui.

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase , agrupe só as informacoes que se quer , conte as distintas DISTINCT areas ou emprestimos.

Se nao consegui amanha post para vc, só nao faço agora pois editar no tablet é um saco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.