Ir para conteúdo

POWERED BY:

Arquivado

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

Patricia_m

Consultar 3 tabelas

Recommended Posts

Olá, boa noite,

 

Preciso fazer uma consulta a três tabelas, o esquema das tabelas é o seguinte:

 

EMPREGADOS(nif_emp,nome,nº_emp)

 

RESERVAS(nº_emp, nº_bilhetes)

 

FILHOS(nif_emp, nome, data_de_nascimento)

 

a consulta devia devolver os seguintes campos:

NIF_EMP|NOME_EMP|Nº_EMP|Nº_BILHETES|Nº DE FILHOS COM IDADE <=12

 

:s O pior é mesmo como efectuar o calculo do total de filhos de um empregado com idade<=12. Quem me ajuda?:S:S

Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, boa noite,

 

Preciso fazer uma consulta a três tabelas, o esquema das tabelas é o seguinte:

 

EMPREGADOS(nif_emp,nome,nº_emp)

 

RESERVAS(nº_emp, nº_bilhetes)

 

FILHOS(nif_emp, nome, data_de_nascimento)

 

a consulta devia devolver os seguintes campos:

NIF_EMP|NOME_EMP|Nº_EMP|Nº_BILHETES|Nº DE FILHOS COM IDADE <=12

 

:s O pior é mesmo como efectuar o calculo do total de filhos de um empregado com idade<=12. Quem me ajuda?:S:S

Obrigada.

 

Tenta isso, acho que dá certo, o problema é se o cara puder ter mais de um bilhete, acho que só retorna o primeiro.

 

SELECT emp.nif_emp emp.nome, emp.nº_emp, res.nº_bilhetes, 
(SELECT COUNT(*) FROM FILHOS 
WHERE (YEAR(CURDATE())-YEAR(data_de_nascimento)) - 
(RIGHT(CURDATE(),5)<RIGHT(data_de_nascimento,5)) <= 12) 
as Nº_DE_FILHOS_COM_ATE_12_ANOS 
FROM EMPREGADOS as emp, RESERVAS as res 
WHERE emp.nº_emp=res.nº_emp;

Compartilhar este post


Link para o post
Compartilhar em outros sites

A parte q você tem dificuldade...

 

 

 

select nif_emp, count (*) qtde

from

filhos

where data_de_nascimento + INTERVAL 12 YEAR >= now()

group by nif_emp

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.