Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 348
Sexo: Masculino
Localização: Paraná/São Mateus do Sul/Brasil
Contato:

DISTINCT para mostrar todos os campos

08-08-2008 17:17

Ola galera, tudo ok?

Estou precisando de uma ajudinha em um select!
É o seguinte a minha tabela "os" tem os seguintes Campos: id, os, titulo, disciplina, horas.
Eu preciso fazer um select que retorne um linha só de cada os, por exemplo tem cadastrado assim

2, 180/04, blablabla, setub
3, 180/04, blablabla, setin

onde vai mudar só a disciplina, os outros campos tem os mesmos dados!
se eu for fazer um select com DISTINCT(os) ele vai me retornar só o valor do campo os, e não dos outros campos, tentei fazer assim tambem, "SELECT id, DISTINCT(os), titulo FROM os" e tambem não deu certo, será que vocês poderiam me ajudar?
Obrigado!
0
Está precisando de um Website?
Acesse ww.listasms.com/web e faça um orçamento sem compromisso!
Ígor
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

DISTINCT para mostrar todos os campos

08-08-2008 18:34

Consegui dessa forma

SELECT id, os, titulo, disciplina, horas, GROUP_CONCAT(DISTINCT os ORDER BY os) FROM suatabela GROUP BY os

Note que todo DISTINCT vai se basear no os.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 348
Sexo: Masculino
Localização: Paraná/São Mateus do Sul/Brasil
Contato:

DISTINCT para mostrar todos os campos

08-08-2008 22:54

legal, tem como vc me explicar como isso funciona??

Valeu obrigado!
0
Está precisando de um Website?
Acesse ww.listasms.com/web e faça um orçamento sem compromisso!
Ígor
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

DISTINCT para mostrar todos os campos

08-08-2008 23:00

Basicamente ele faz o select normal pegando os campos da consulta, em seguida é usado o GROUP_CONCAT() que concatena os valores ao select já iniciado, ordenando pelo campo desejado ( os ), ai é dada a sequência.

Essa sintaxe com o ORDER BY e o GROUP BY fazem parte do GROUP_CONCAT().
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 348
Sexo: Masculino
Localização: Paraná/São Mateus do Sul/Brasil
Contato:

DISTINCT para mostrar todos os campos

08-08-2008 23:08

Valeu, agora eu intendi, muito legal, obrigado!
0
Está precisando de um Website?
Acesse ww.listasms.com/web e faça um orçamento sem compromisso!
Ígor

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado