Tiago j.a 0 Denunciar post Postado Fevereiro 19, 2010 BOm dia pessoal, tenho uma consulta no banco, onde mostro todos os equipamentos, e tenho vários registros com o mesmo equipamento equipamento 1, codigo 1, certificado 1 equipamento 1, codigo 2, certificado 2 equipamento 2, codigo 3, certificado 3 e ai vai.. Gostaria de saber se tem alguma forma de mostrar apenas uma vez cada equipamento, e quando for inserido algo no equipamento 1 por exemplo, inserir em todos equipamentos 1. A consulta estou fazendo assim, andei pesquisando, e pelo que vi, para imprimir apenas 1 vez, usa-se o DISTINCT, só que está me dando erro de sintaxe pela forma que estou fazendo. Desde já agradeço! $consulta = mysql_query("select c.*, s.*, d.*, e.* from usuario d, certificado c, fornecedores s, equipamento e where d.usuario = '$login_usuario' and d.Fornecedor = s.fornecedor and c.numero_certificado = e.numero_certificado and c.fornecedor = s.fornecedor and s.fornecedor = d.fornecedor and !LENGTH(e.data_f) > 0 order by e.equipamento")or die(mysql_error());; Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 19, 2010 aprenda sobre JOIN http://dev.mysql.com/doc/refman/5.0/en/join.html para retornar apenas o primeiro valor, utilize 'LIMIT 1' Compartilhar este post Link para o post Compartilhar em outros sites
Tiago j.a 0 Denunciar post Postado Fevereiro 19, 2010 Olá Evandro, desde já brigado pela força. É que, não é o 1º valor que tenho que retornar, preciso que ele retorne apenas uma vez os valores, se tenho A A me retorna-se só A desta forma que estou fazendo, tem como fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 19, 2010 O 'DISTINCT' só vai funcionar se todos os campos filtrados forem iguais [nome] [idade] [sexo] zé 19 m joão 20 m alice 19 f zé 19 m joão 21 m SELECT DISTINCT FROM `tabela` [nome] [idade] [sexo] zé 19 m joão 20 m alice 19 f joão 21 m SELECT DISTINCT `nome` FROM `tabela` [nome] zé joão alice SELECT DISTINCT `idade` FROM `tabela` [idade] 19 20 21 SELECT DISTINCT `sexo` FROM `tabela` [sexo] m f Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 19, 2010 Coloque no select somente os campos que você quer. Nao coloque tudo *. Ele só agrupa dados iguais quando os outros forem iguais. Por exemplo, nesse caso que você postou: equipamento 1, codigo 1, certificado 1 equipamento 1, codigo 2, certificado 2 equipamento 2, codigo 3, certificado 3 Ele nao vai agrupar o equipamento 1, porque o código e o certificado são diferentes. Compartilhar este post Link para o post Compartilhar em outros sites
Tiago j.a 0 Denunciar post Postado Fevereiro 19, 2010 é que eu preciso fazer algumas verifições, para saber de qual fornecedor é o equipamento, qual o seu certificado, e esses dados eu tenho em outras tabelas. Colocando desta forma ele imprime apenas uma vez os equipamentos, mas dai ele pega os equipamentos dos outros fornecedores também, SELECT DISTINCT equipamento FROM equipamentoo que nesta verificaçao que fazia na outra consulta ele não mostraria, mostraria apenas os equipamentos do usuario que logou. where d.usuario = '$login_usuario' and d.Fornecedor = s.fornecedor and c.numero_certificado = e.numero_certificado and c.fornecedor = s.fornecedor Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Fevereiro 19, 2010 Sua dúvida é na montagem da query, então vou mover para o fórum de MySQL. Tópico Movido PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif MySQL Compartilhar este post Link para o post Compartilhar em outros sites
koga021 0 Denunciar post Postado Fevereiro 19, 2010 utiliza o GROUP BY para todos os campos que voce quer que nao se repita. Compartilhar este post Link para o post Compartilhar em outros sites
Tiago j.a 0 Denunciar post Postado Fevereiro 19, 2010 cara coloquei o que você falou, e funcionou 100% GROUP BY e.equipamento Muito brigado amigo!!!! Compartilhar este post Link para o post Compartilhar em outros sites