Erro em subquery

3 respostas
b10machado

select *, (select id_usuario from tb_amigos where id_amigos = 1 limit 1) as id_usuario from tb_upload U
inner join tb_arquivos A on A.id_arquivo = U.id_arquivo
inner join tb_amigos AM on AM.id_usuario=A.id_usuario
where AM.id_usuario = id_usuario AND AM.id_amigos = 1

3 Respostas

b10machado

erro: ERRO: referência à coluna “id_usuario” é ambígua

M

Parece que o SGBD não esta conseguindo entender que o usuário do resultado é o que vc deseja comparar no where

select *, (select id_usuario from tb_amigos where id_amigos = 1 limit 1) as id_usuario from tb_upload U
inner join tb_arquivos A on A.id_arquivo = U.id_arquivo
inner join tb_amigos AM on AM.id_usuario=A.id_usuario
where AM.id_usuario = id_usuario AND AM.id_amigos = 1

Pela query seu banco parece ser MySQL.
Tenta fazer a subquery dentro do where

select * from tb_upload U
inner join tb_arquivos A on A.id_arquivo = U.id_arquivo
inner join tb_amigos AM on AM.id_usuario=A.id_usuario
where AM.id_usuario = (select id_usuario from tb_amigos where id_amigos = 1 limit 1) AND AM.id_amigos = 1

b10machado

acabei de fazer isso e deu certo, brigado!!

Criado 5 de abril de 2012
Ultima resposta 5 de abr. de 2012
Respostas 3
Participantes 2