Ir para conteúdo

POWERED BY:

Arquivado

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

Patricia_m

Consultar duas tabelas

Recommended Posts

O outro é esse:

 


SELECT natal_empregados.emp_nome, count(natal_criancas.nome) as filhos 
FROM natal_empregados,natal_criancas where natal_criancas.nif = 0
group by natal_criancas.nif, natal_empregados.emp_nome

por curiosidade

tenta esses

 

SELECT EMPREGADOS.NOME, COALESCE(COUNT(CRIANCAS.NOME),0) AS FILHOS
FROM CRIANCAS 
FULL JOIN EMPREGADOS ON EMPREGADOS.NIF = CRIANCAS.NIF_PAI AND CRIANCAS.NIF = 0

SELECT EMPREGADOS.NOME, COALESCE(COUNT(CRIANCAS.NOME),0) AS FILHOS
FROM CRIANCAS 
RIGHT JOIN EMPREGADOS ON EMPREGADOS.NIF = CRIANCAS.NIF_PAI AND CRIANCAS.NIF = 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que assim va la

 

SELECT natal_empregados.*, natal_empregados.emp_nif, count( natal_criancas.nome ) AS filhos

FROM natal_empregados, natal_criancas

WHERE natal_criancas.nif = natal_empregados.emp_nif and natal_empregados.emp_sit='Activo'

GROUP BY natal_criancas.nif, natal_empregados.emp_nome

 

se eu fizer isto ele vai devolver-me os funcionarios activos e o numero de filhos, ou seja so aparecem os funcionarios activos que tenham filhos.....Eu quero ver todos os funcionarios activos e o numero de filhos que tem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

 

SELECT natal_empregados.emp_nome,
       COUNT(natal_criancas.nome) as filhos
  FROM natal_empregados
    LEFT JOIN natal_criancas
    ON natal_criancas.nif = natal_empregados.emp_nif
GROUP BY natal_empregados.emp_nif

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.