Pessoal sou novo com mySQL e to meio boiando.
Fiz um comando do tipo:
select * from usuario inner join usuario_tem_fone on usuario.id_usuario = usuario_tem_fone.usuario_id_usuario
inner join fone on usuario_tem_fone.fone_id_fone = fone.id_fone;
Isso me retorna N linhas sendo N o número de telefone que o usuário tem. E me retorna repetindo todos os dados do usuário em cada linha.
O que eu quero é que me liste todos os dados do usuário e o telefone1 na proxima coluna e o telefone2 na proxima coluna… Montando uma linha só!
Como faço isso?
pesquise sobre a clausula GROUP BY do sql, acho que vai te ajudar.
Abraço!
[quote=digaoneves]pesquise sobre a clausula GROUP BY do sql, acho que vai te ajudar.
Abraço![/quote]
Então até vira uma linha só, mas os N telefones não aparecem. Só o primeiro. Quero que agrupe todos os N telefones na mesma linha.
Você possui uma tabela usuario, uma tabela fone e, considerando a relação M : N (ou seja, um usuário pode ter vários telefones e um telefone pode pertencer a vários usuários), uma tabela de relacionamento.
Você fez o GROUP BY de que forma? Pois, há maneiras de agrupar pelo usuario e ter todos os telefones que pertencem a este.
A query que você montou não irá retornar isto.
[quote=drsmachado]Você possui uma tabela usuario, uma tabela fone e, considerando a relação M : N (ou seja, um usuário pode ter vários telefones e um telefone pode pertencer a vários usuários), uma tabela de relacionamento.
Você fez o GROUP BY de que forma? Pois, há maneiras de agrupar pelo usuario e ter todos os telefones que pertencem a este.
A query que você montou não irá retornar isto.[/quote]
To fazendo assim:
select * FROM usuario INNER JOIN usuario_tem_fone ON usuario.id_usuario = usuario_tem_fone.usuario_id_usuario
INNER JOIN fone ON usuario_tem_fone.fone_id_fone = fone.id_fone GROUP BY usuario.id_usuario;
hey Brow acho q se vc fizer um Select COUNT(atributo que o telefone ta) …
vc consegue ter o total de telefones do usuario não tenho muita certeza disso maiss…