[Cascavel-pm] [OFF] [SQL] DISTINCT

Marco A P D'Andrade mdacwb em gmail.com
Sexta Setembro 21 19:36:42 PDT 2007


Fernando,

Não consegui "pescar" o sentido de inserir na própria tabela, os
primeiros dados desta...

Mas imagino que vc vai ter de usar join de uma subquery, procedure ou
sequencia de queries em um script...

select distinct coluna1, coluna2 from table;

para cada registro:

  insert into table
    select COL1, COL2, coluna3, coluna4, coluna5
     from table t
    where coluna1 = COL1 AND coluna2 = COL2
    LIMIT 1;


Sds,
Marco Antonio

Em 21/09/07, fernandolouis em terra.com.br<fernandolouis em terra.com.br> escreveu:
>
>
>
> Vou tentar ser claro com um exemplo:
>
> esta é a tabela `table`
>
> 1. cão - 2005 - preto - grande - manso - sim
> 2. cão - 2005 - marrom - pequeno - manso - nao
> 3. gato - 2006 - cinza - pequeno - bravo - nao
> 4. gato - 2006 - cinza - pequeno - manso - nao
> 5. cão - 2005 - branco - grande - manso - sim
> 6. cão - 2001 - preto - pequeno - bravo - nao
>
> desejo selecionar as colunas: 1, 2, 3, 4 e 5 desta tabela
>
> e que me retorne todas as linhas, desde que a coluna 1 e a coluna 2, não
> podem ser repetidas.
>
> portanto, deve retornar apenas:
> 1. cão - 2005 - preto - grande - manso - sim
> 3. gato - 2006 - cinza - pequeno - bravo - nao
> 6. cão - 2001 - preto - pequeno - bravo - nao
>
>
> seria algo assim, mas não deu:
> "SELECT DISTINCT (`coluna1`,`coluna2`)  `coluna3`,`coluna4`,`coluna5` FROM
> `table` WHERE 1"
>
> O que desejo fazer é usar o INSERT e dentro dele, usar a cláusula SELECT.
>
> como: INSERT INTO `table` (SELECT "SELECT DISTINCT (`coluna1`,`coluna2`)
> `coluna3`,`coluna4`,`coluna5` FROM `table` WHERE 1")
>
>
> []s,
> Fernando
>
> ----- Original Message -----
> From: Wendel Scardua
> To: Cascavel Perl Mongers
> Sent: Friday, September 21, 2007 8:28 AM
> Subject: Re: [Cascavel-pm] [OFF] [SQL] DISTINCT
>
> Acho que ele quer que, se tiver essas duas rows no banco:
>
> A, B, C, D, E
> e
> A, B, F, G, H
>
> o select só traga uma delas.
>
> Só assim pra não trazer as duas primeiras colunas sem dados duplicados; por
> outro lado isso parece bem inútil.
>
> fernandolouis, talvez você esteja caindo no Problema XY - você quer fazer X,
> mas acha que só dá pra fazer do jeito Y; em vez de perguntar pra lista sobre
> o X, você pergunta sobre o Y, quando nem sempre este é melhor jeito. Então
> explique pelo menos um exemplo de "tabela" e de "saída desejada".
>
> []s
>
> Wendel
>
>
> On 9/21/07, Marco A P D'Andrade <mdacwb em gmail.com> wrote:
> > hummm... WHERE coluna1 != coluna2 ...
> >
> > Não ficou clara sua necessidade, uma vez que não existe tal função !
> >
> > O que vc deseja ? Seja mais objetivo, para poder saber como auxiliar.
> >
> > Em 20/09/07, fernandolouis em terra.com.br<fernandolouis em terra.com.br>
> escreveu:
> > > Monges, por favor, me dêem esse help. Não to conseguindo resolver este
> > > problema.
> > >
> > >
> > > ----- Original Message -----
> > > From: <fernandolouis em terra.com.br>
> > > To: "Cascavel Perl Mongers" < cascavel-pm em pm.org>
> > > Sent: Thursday, September 20, 2007 4:36 PM
> > > Subject: [Cascavel-pm] [OFF] [SQL] DISTINCT
> > >
> > >
> > > Como selecionar 5 colunas, sendo que duas delas não vem ter dados
> duplicados
> > >
> > > "SELECT DISTINCT (`coluna1`,`coluna2`)
> `coluna3`,`coluna4`,`coluna5` FROM
> > > `tabela` WHERE 1"
> > >
> > > Não achar isso nos manuais...
> > >
> > > []s,
> > > Fernando
> > >
>
>
>
>  ________________________________
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm