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

tiko165

Passar várias linhas para uma só

Mensagens Recomendadas

tiko165    3
tiko165

Tenho um query que gera duas linhas, mas pretendia passar esta query, a gerar apenas uma linha e ter na mesma ambas as informações.

Exemplo:

Untitled.jpg

Como o poderei fazer??


collectioneuro300px.png

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos    330
Rui Carlos

Isso pode ser feito com um join da tabela com ela própria.  Algo deste género:

select a.id, a.username, a.userlevel,
        a.name_image as name_image_profile,
        b.name_image as name_image_header
from t as a inner join t as b
	on a.id = b.id
where a.location = 'profile' and b.location = 'header';

Isto assume que as linhas aparecem sempre aos pares.  As que não tiverem par, não irão aparecer no resultado final.  Se quiseres incluir todas as entradas, precisas de um full outer join em vez de um inner join.  (O full outer join não é suportado nativamente pelo MySQL, mas pode ser implementado com uma union de um left join com um right join.)

(Possivelmente essa tabela também precisava aí de uma normalização :).)

Partilhar esta mensagem


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.