allanlb 0 Denunciar post Postado Maio 17, 2010 Olá! Estou fazendo um select distinct, porém o mesmo não funciona. Preciso pegar o código da subcategoria(tabela subcategorias), código da categoria(tabela projetoCategorias), nome da subcategoria(tabela subcategorias) e o número de horas(tabela projetoCategorias) de um determinado projeto, porém o nome da subcategoria não pode repetir, mas repete, logo o DISTINCT parece não funcionar. Obs: se eu remover do select "projCat.nroHoras" o distinct funciona, porém fico com os dados do projeto incompleto(faltando as horas). Se alguém puder ajudar, Obrigado! $where = ($codCategoria) ? " WHERE projCat.codCategoria = $codCategoria " : ""; $res = Banco::Executa("SELECT DISTINCT subCat.codSubcategoria, projCat.codCategoria, subCat.nomeSubcategoria, projCat.nroHoras FROM subcategorias subCat LEFT JOIN projetoCategorias projCat ON subCat.codSubcategoria = projCat.codSubCategoria $where ORDER BY subCat.codSubcategoria"); O mesmo acontece nesse outro bloco de código. $where = ($codProjeto) ? " WHERE projCat.codProjeto = $codProjeto " : ""; $res = Banco::Executa("SELECT DISTINCT Cat.codCategoria, Cat.nomeCategoria, projCat.nroHoras FROM categorias Cat LEFT JOIN projetoCategorias projCat ON Cat.codCategoria = projCat.codCategoria $where ORDER BY Cat.codCategoria"); Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Maio 18, 2010 o distinct unicaliza os campos pedidos (some com as repetiçoes), se tem varios numero_de_horas diferente, cada um ira gerar uma linha no resultset Compartilhar este post Link para o post Compartilhar em outros sites