Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

watt

Duvida php e mysql- Não quero registos repetidos

Mensagens Recomendadas

watt    0
watt

boa tarde

hoje a minha duvida é a seguinte. Estou a tentar fazer um menu com submenus a partir de registos retirados de uma base de dados em mysql acontece que no menu principal aparecem-me links repetidos. como faço para isto nao acontecer

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
joninho    0
joninho

e que resultados repetidos te devolve? se tu fizeres procurar os dados da fetch onde o id=1 por exemplo o que é que te repete?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

devolve pois.. basta teres registos repetidos... para garantir unicidade no resultado usa-se a função de grupo unique()

por exemplo... se tens uma base de dados com os alunos de uma escola e queres saber todas as terras em que a escola tem alunos.

fazento um

SELECT local from Alunos;

ias obter uma lista infindavel com um valor para cada pessoa, muitas delas repetidas.

entao farias antes:

SELECT unique(local) from alunos;

voilá... simples? é mesmo :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

A base de dado nunca devolve valores repetidos a menos que exista um outer join e uma cláusula where "mal especificada".

devolve pois.. basta teres registos repetidos... para garantir unicidade no resultado usa-se a função de grupo unique()

Não tinha compreendido que neste caso havia várias entradas do mesmo registo...

Isso a acontecer, cheira-me a esturro...

por exemplo... se tens uma base de dados com os alunos de uma escola e queres saber todas as terras em que a escola tem alunos.

fazento um

SELECT local from Alunos;

ias obter uma lista infindavel com um valor para cada pessoa, muitas delas repetidas.

entao farias antes:

SELECT unique(local) from alunos;

voilá... simples? é mesmo :P

Unique aplicado a predicados de uma cláusula select? Isso não é SQL standard pois não?

Não será antes:

  select DISTINCT local from alunos;

?

Há que ter em conta que o peso de uma cláusula distinct é bastante superior à aplicação correcta de filtros. Volto a reafirmar que, tipicamente, quando existem registos duplicados normalmente é porque há aplicação de filtros "mal especificada".

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

enganei-me...

distinct claro... looll.. obrigado... unique pode ser aplicado de inicio se não queremos evitar registos repetidos numa coluna ou num conjunto de colunas.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
M6    75
M6

enganei-me...

distinct claro... looll.. obrigado... unique pode ser aplicado de inicio se não queremos evitar registos repetidos numa coluna ou num conjunto de colunas.

Completo apenas com: "no íncio" quer dizer na construção da tabela ao nível do modelo físico.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade