Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com problemas em Join, union, sei lá o que uso.
Contexto:
Tabelas: ad_usuarios, ad_soci, ad_projetos, ad_selects
ad_selects -> galerias
ad_usuarios -> usuários
ad_projetos -> são os projetos
ad_soci -> socialização entre usuário e projeto (para um, ter vários, e vários ter um)
Em ad_selects tenho s_id, s_p_id - entre outros
Em ad_usuarios tenho u_id - entre outros
Em ad_projetos tenho p_id - entre outros
Em ad_soci tenho s_u_id e s_p_id
Criei as chaves já, 1 USUÁRIO PARA MUITAS SOCIALIZAÇÕES, 1 PROJETO PARA MUITAS SOCIALIZAÇÕES
E MUITAS GALERIAS PARA 1 PROJETO
Quero listar as galerias, mostrando, em cada linha, os usuários que ela tem.. Eu fiz a seguinte consulta:
"SELECT *
FROM ad_selects s
INNER JOIN ad_projetos p ON p.p_id = s.s_p_id INNER JOIN ad_soci z ON p.p_id = z.s_p_id INNER JOIN ad_usuarios u ON u.u_id = z.s_u_id"
Ela da certo, porém, ela da o seguinte resultado:
GALERIA PROJETO USUÁRIOS
1 1 1
1 1 2
Queria que a consulta desse: (resultado esperado)
GALERIA PROJETO USUÁRIOS
1 1 1 / 2
Dentro do banco, existe em:
ad_selects:
1 REGISTRO: s_id = 1 | s_p_id = 1
em ad_usuarios:
1 REGISTRO: u_id = 1
2 REGISTRO: u_id = 2
em ad_projetos:
1 REGISTRO: p_id = 1
em ad_soci:
1 REGISTRO: s_id = 1 | s_u_id = 1 | s_p_id = 1
2 REGISTRO: s_id = 2 | s_u_id = 2 | s_p_id = 1
Como resolvo este dilema mítico?
Carregando comentários...