Ir para conteúdo

POWERED BY:

Arquivado

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

dinaerteneto

Selecionando vários dados da mesma tabela

Recommended Posts

Olá galera do Imasters,Estou com problemas para fazer um relacionamento entre duas tabelas,Na verdade o relacionamento eu consigo fazer, porém não consigotrazer as informações da forma que desejo.Vamos ao que interessa:estrutura da tabela usuariosidUsuarionomedataCademailacessologinsenhaativoestrutura da tabela uploadidUploadidUsuarioUp (identificação do usuario que fez o upload)idUsuarioDel (identificação do usuario que removeu o arquivo)idUsuarioDown (identificação do usuario que terá permissão para fazer o download)dataUp (data do upload)dataDel (data em que o arquivo foi removido)arquivo (nome do arquivo)ext (Extensão)size (tamanho)desc (descrição do upload)meu problema é seguintenão sei como fazer uma consulta para mostrar todos estes usuarios de uma vez sóminha consulta sql é a seguinte:SELECT A.*, date_format(A.dataUp, '%d/%m/%Y') as dataUp,date_format(A.dataDel, '%d/%m/%Y') as dataDel,B.idUsuario, B.nome FROM upload A INNER JOIN usuarios BON B.idUsuario = A.idUsuarioUpAND arquivo LIKE '$_POST[arquivo]%'AND status LIKE '$_POST[status]%'porém logicamente só consigo relacionar com os usuarios que fizeram o uploadbom é isso ae...Um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom...Como ninguém se manifestou, vou tentar ser mais claro.Quero fazer o seguinteum select como se fosse uma especie de relacionamentoporém não pode ser um relacionamento porque irá me trazer com base em um destes campos id.Quero fazer um select que me traga todo o conteudo da tabela upload,porém os campos id tem que aparecer com o nome do usuario correspondentecomo se fosse um espécie de array.Abrax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que entendi o que voce quer

eu não tenho como testar agora, mas acho que isso irá te ajudar.

 

teste essa query:

 

SELECT A.*, date_format(A.dataUp, '%d/%m/%Y') as dataUp,date_format(A.dataDel, '%d/%m/%Y') as dataDel,B.idUsuario, B.nome FROM upload A INNER JOIN usuarios BON B.idUsuario = A.idUsuarioUp INNER JOIN usuarios BON B.idUsuario = A.idUsuarioDown;

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT A.*, date_format(A.dataUp, '%d/%m/%Y') as dataUp,date_format(A.dataDel, '%d/%m/%Y') as dataDel,B.idUsuario, B.nome FROM upload A INNER JOIN usuarios BON B.idUsuario = A.idUsuarioUp INNER JOIN usuarios BON B.idUsuario = A.idUsuarioDown;
O erro retornado foi o seguinte #1066 - Not unique table/alias: 'B' mas acho que estamos no caminho.desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

SELECT A.*, date_format(A.dataUp, '%d/%m/%Y') as dataUp,date_format(A.dataDel, '%d/%m/%Y') as dataDel,B.idUsuario, B.nome FROM upload A INNER JOIN usuarios BON B.idUsuario = A.idUsuarioUp INNER JOIN BON B.idUsuario = A.idUsuarioDown;

ou assim:

 

SELECT A.*, date_format(A.dataUp, '%d/%m/%Y') as dataUp,date_format(A.dataDel, '%d/%m/%Y') as dataDel,B.idUsuario, B.nome FROM upload A INNER JOIN usuarios BON B.idUsuario = A.idUsuarioUp INNER JOIN usuariosON B.idUsuario = A.idUsuarioDown;

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

SELECT A.*, date_format(A.dataUp, '%d/%m/%Y') as dataUp,date_format(A.dataDel, '%d/%m/%Y') as dataDel,B.idUsuario, B.nome FROM upload A INNER JOIN usuarios BON B.idUsuario = A.idUsuarioUp INNER JOIN usuariosON B.idUsuario = A.idUsuarioDown;
Desta forma não apresenta erro, porém não trás nenhum registroa intenção é trazer todos os registros da tabela A,porém no lugar dos id's tem que ser apresentado o nome dos usuarios.como se eu pudesse chama-los por um array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi dificil, mas acho que isso te ajuda:

 

SELECT t1.nome, t2.nome, t3.* FROM usuarios t1, usuarios t2, upload t3 WHERE t1.idUsuario = t3.idUsuarioUp and t2.idUsuario = t3.idUsuarioDown;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi dificil, mas acho que isso te ajuda:

SELECT t1.nome, t2.nome, t3.* FROM usuarios t1, usuarios t2, upload t3 WHERE t1.idUsuario = t3.idUsuarioUp and t2.idUsuario = t3.idUsuarioDown;
Kandrade... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Vlw cara,Funcionou direitinho,Muito obrigado.É por isso que cada vez mais sou fã deste forúm.VlwsE até a próxima.

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.