Ir para conteúdo

POWERED BY:

Arquivado

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

Brandao_ibi

Erro Mysql

Recommended Posts

Olá pessoa!!! Estou tendo um problema ao executar um comando sql no banco de dados mysql. comando:

select * from Usuario	   inner join privilegio on(privilegio.cod_privilegio = Usuario.cod_privilegio)	   inner join fisica on(fisica.cod_pessoa = Usuario.cod_pessoa)	   inner join rg on(rg.cod_rg = Fisica.cod_rg)	   inner join estado on(estado.cod_estado = Rg.cod_estado)	   inner join pais on(pais.cod_pais = Estado.cod_pais)	   inner join grau_instrucao on(grau_instrucao.cod_grau_instrucao = Fisica.cod_grau_instrucao)	   inner join sexo on(sexo.cod_sexo = Fisica.cod_sexo)	   inner join estado_civil on(estado_civil.cod_estado_civil = Fisica.cod_estado_civil)	   inner join pessoa on(pessoa.cod_pessoa = Fisica.cod_pessoa)	   inner join estado on(estado.cod_estado = Pessoa.uf)	   inner join pais on(pais.cod_pais = Estado.cod_pais)	   inner join estado on(estado.cod_estado = Fisica.naturalidade_est)	   inner join pais on(pais.cod_pais = Estado.cod_pais)
Erro:

Not unique table/alias: 'estado'

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é o critério de seleção.... falando em português... qual é o where envolvido na consulta?

 

 

select * from Usuario

inner join privilegio on(privilegio.cod_privilegio = Usuario.cod_privilegio)

inner join fisica on(fisica.cod_pessoa = Usuario.cod_pessoa)

inner join rg on(rg.cod_rg = Fisica.cod_rg)

inner join estado on(estado.cod_estado = Rg.cod_estado)

inner join pais on(pais.cod_pais = Estado.cod_pais)

inner join grau_instrucao on(grau_instrucao.cod_grau_instrucao = Fisica.cod_grau_instrucao)

inner join sexo on(sexo.cod_sexo = Fisica.cod_sexo)

inner join estado_civil on(estado_civil.cod_estado_civil = Fisica.cod_estado_civil)

inner join pessoa on(pessoa.cod_pessoa = Fisica.cod_pessoa)

inner join estado on(estado.cod_estado = Pessoa.uf) quais são os tipos de dados?

inner join pais on(pais.cod_pais = Estado.cod_pais)

inner join estado on(estado.cod_estado = Fisica.naturalidade_est)

inner join pais on(pais.cod_pais = Estado.cod_pais)

 

flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

primeiramente só queria dar o toque que existe um fórum de MySQL..

 

Mas então...

a mensagem de erro já está lhe dizendo que existe uma tabela ou apelido não único na consulta, que no caso é "estado".

 

Verifique que na sua consulta você está ligando a tabela "estado" 3 vezes e em nenhuma delas você está utilizando um apelido.

Então, quando você vai ligá-la com a tabela "fisica", o bd deve ligar esta com qual das 3 instâncias de estado?

Você tem de definir um apelido para diferenciá-las.

ex:

inner join   estado as estadoRgon   estadoRg.cod_estado = Rg.cod_estadoinner join   estado as estadoPessoaon   estadoPessoa.cod_estado = Pessoa.ufinner join   estado as estadoFisicaon   estadoFisica.cod_estado = Fisica.naturalidade_est

vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

já resolvi o problema!!!! É que esse comando é suportado pelo firebird mas não pelo mysql. Tive que renomear as tableas repetidas!!!!Valew pessoal assim mesmo!!!!!!

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.