[RESOLVIDO] Sql join

ThinkBrunus

Power Member
Viva!
Estou a tentar colocar um join numa querie que pretendo que retorne os dados de determinado utilizador e respectivas permissões de acesso, sabendo que cada utilizador poderá ter um ou mais tipos de permissões. Estou a tentar o seguinte código:

Código:
SELECT posto.sigla AS posto,classe.sigla AS classe,apelido,divisao.sigla AS divisao,detalhe.nome AS detalhe,nivelacesso_detalhe.id_nivelacesso
FROM utilizador,posto,classe,detalhe,divisao
WHERE posto.id_posto=utilizador.id_posto
AND classe.id_classe=utilizador.id_classe AND utilizador.id_detalhe=detalhe.id_detalhe
AND detalhe.id_divisao=divisao.id_divisao
JOIN nivelacesso_detalhe ON detalhe.id_detalhe=nivelacesso_detalhe.id_detalhe
Mas não estou a conseguir que funcione e retorne os valores desejados...não tou a perceber o que está a falhar, venho pedir uma ajudinha!
 
Última edição:
Boas caro amigo,

bem essa query esta mal formada. deveria estar assim:

SELECT posto.sigla AS posto,classe.sigla AS classe,apelido,divisao.sigla AS divisao,detalhe.nome AS detalhe,nivelacesso_detalhe.id_nivelacesso
FROM utilizador,posto,classe,detalhe,divisao
JOIN nivelacesso_detalhe ON detalhe.id_detalhe=nivelacesso_detalhe.id_detalhe
WHERE posto.id_posto=utilizador.id_posto
AND classe.id_classe=utilizador.id_classe AND utilizador.id_detalhe=detalhe.id_detalhe
AND detalhe.id_divisao=divisao.id_divisao

o JOIN tem de se encontrar entre o FROM e o WHERE.... agora nao sei e se essa query ira funcionar so assim... talvez precises de fazer LEFT JOIN ou RIGHT JOIN em vez de so JOIN.

Cumps
 
Viva!
Pois o problema parte dai...de qualquer forma obtei pelo seguinte:

Código:
SELECT posto.sigla AS posto,classe.sigla AS classe,apelido,divisao.sigla AS divisao,detalhe.nome AS detalhe,nivelacesso_detalhe.id_nivelacesso
FROM utilizador,
INNER JOIN posto posto.id_posto=utilizador.id_posto
INNER JOIN classe ON classe.id_classe = utilizador.id_classe
INNER JOIN detalhe ON detalhe.id_detalhe = utilizador.id_detalhe
INNER JOIN divisao ON detalhe.id_divisao = divisao.id_divisao
INNER JOIN nivelacesso_detalhe ON detalhe.id_detalhe = nivelacesso_detalhe.id_detalhe

De qualquer forma obrigado pela dica!
 
Back
Topo