Fórum Consulta com erro duplicado. #614155
18/02/2021
0
Boa tarde, sou novo no mundo do SQL, estou realizando uns cursos e paralelamente estou realizando consultas no banco. Preciso criar um relatório com as tabelas abaixo, mas ao realizar a consulta aparece inúmeras vezes a mesma pessoa com todas as seções registradas no sistema.
SELECT PPESSOA.NOME, PPESSOA.DTNASCIMENTO, PPESSOA.EMAIL, PFUNC.CODSECAO, PFUNC.DATAADMISSAO, PFUNC.CODSECAO, PSECAO.DESCRICAO,
PFUNC.CODSITUACAO
FROM PPESSOA, PFUNC, PSECAO
WHERE PFUNC.CODPESSOA = PPESSOA.CODIGO AND PFUNC.CODSITUACAO != ''D''
SELECT PPESSOA.NOME, PPESSOA.DTNASCIMENTO, PPESSOA.EMAIL, PFUNC.CODSECAO, PFUNC.DATAADMISSAO, PFUNC.CODSECAO, PSECAO.DESCRICAO,
PFUNC.CODSITUACAO
FROM PPESSOA, PFUNC, PSECAO
WHERE PFUNC.CODPESSOA = PPESSOA.CODIGO AND PFUNC.CODSITUACAO != ''D''
Luiz Roberto
Curtir tópico
+ 0
Responder
Posts
18/02/2021
Emerson Nascimento
você precisa relacionar todas as tabelas explicitamente. no caso você não fez qualquer menção à tabela PSECAO.
colocando de uma forma mais simples de entender:
colocando de uma forma mais simples de entender:
SELECT
PPESSOA.NOME, PPESSOA.DTNASCIMENTO, PPESSOA.EMAIL,
PFUNC.CODSECAO, PFUNC.DATAADMISSAO, PFUNC.CODSECAO,
PSECAO.DESCRICAO,
PFUNC.CODSITUACAO
FROM
PPESSOA
INNER JOIN
PFUNC ON PFUNC.CODPESSOA = PPESSOA.CODIGO -- relaciona a tabela pfunc à tabela ppessoa
AND PFUNC.CODSITUACAO != 'D' -- filtra a tabela pfunc
INNER JOIN
PSECAO -- como esta tabela se relaciona com as demais ???
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)