Ir para conteúdo

POWERED BY:

Arquivado

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

gustavo Kirk

Criando uma view

Recommended Posts

E ai pessoal, estou criando uma view com varias tabelas para facilitar futuramente, mais estou com um problema

eu preciso pegar o campo cidades.CIDADE 2 vezes para isto usei inner join "veja no codigo" eu ja tinha usado o inner join uma vez porque precisava pegar o campo usuarios.NOME 2 vezes tbm, até ai tudo bem funcionou, mais a hora que coloquei o segundo inner join para pegar a segunda cidade não funcionou, alguma idéia para resolver meu problema?

 

obrigado!

 

CREATE VIEW view_dados_usuario AS

SELECT 

usuarios.ID, usuarios.NOME, usuarios.SOBRENOME, usuarios.APELIDO,
cidades.CIDADE,
estados.NOME AS NOME_ESTADO,
paises.NOME AS NOME_PAIS,
relacionamentos.TIPO, 
rUsuarios.NOME AS NOME_RELACIONAMENTO,
dados_usuarios.BIOGRAFIA,
nCidades.CIDADE AS CIDADE_NATAL

FROM

usuarios, cidades, estados, paises, relacionamentos, [dados_usuarios, relacionamento_usuario

inner join usuarios as rUsuarios on (rUsuarios.ID = relacionamento_usuario.ID_USUARIO2)

inner join cidades as nCidades on (nCidades.ID = dados_usuarios.ID_CIDADE_NATAL)

WHERE

usuarios.ID_CIDADE = cidades.ID AND

cidades.ID_ESTADO = estados.ID AND

estados.ID_PAIS = paises.ID AND

usuarios.ID = relacionamento_usuario.ID_USUARIO1 AND

relacionamento_usuario.ID_RELACIONAMENTO = relacionamentos.ID AND

usuarios.ID = dados_usuarios.ID_USUARIO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigo,

 

Tem um colchete antes do nome de uma tabela usada no INNER JOIN (dados_usuarios):

 

Não é este o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite diego, pesquisei e testei da forma como falou, mais não funcionou...

Não sei se entendi exatamente o que você falou, poderia escrever a sintaxe? obrigado pela sugestão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite amigo,

 

Eu quis dizer que tem um colchete no teu código :D

 

Veja:

 

FROM

usuarios, cidades, estados, paises, relacionamentos, AQUI ---> [dados_usuarios, relacionamento_usuario

inner join usuarios as rUsuarios on (rUsuarios.ID = relacionamento_usuario.ID_USUARIO2)

inner join cidades as nCidades on (nCidades.ID = dados_usuarios.ID_CIDADE_NATAL)

WHERE

Ou você já removeu este?

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já removi sim diego, obrigado, esta errado só aqui no tópico, o erro que da na sql é "#1054 - Unknown column 'dados_usuarios.ID_CIDADE_NATAL' in 'on clause'" mais se eu tirar o segundo inner join, cria a view perfeitamente.. não descobri o erro ainda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Essa coluna existe? Tudo em maiúsculo como você colocou ali?

 

Tente atribuir um alias pra cada uma das tuas tabelas. Ao invés de FROM usuarios, cidades, estados, paises, ... faça um alias pra cada uma dela, pra manter a organização. Quem sabe o MySQL está se perdendo nos nomes e não achando a tabela.coluna na qual deu o erro.

 

Qualquer coisa vai postando que vamos vendo, abraço.

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.