Array
(
)

Distinct e ALL

Digital_man
   - 18 dez 2005

Gente ja olhei varios tópicos mais naum consegui fazer o seguinte tenho uma tabela com os seguintes campos

COD
SETOR
NOME

tenho varios registro com o SETOR IGUAL, dai usei SELECT DISTINCT SETOR FROM TABELA, beleza ele me deu so um de cada , so que eu quere que ele me de as informações completas tipo assim.

select distinct setor,nome from tabela, dai ele mostra o registro completo so que dai ele torna a me mostrar os registros que tem setor repetidos, como posso pegar e mostrar as informações completas fazendo com que o DISTINC so tenha efeito so o campo SETOR???


Marcio.theis
   - 19 dez 2005

Quais são os campos que vc deseja que aparecam no SQL ??? Pois se colocar o COD no distinct, certamente ira trazer todos os registros...


Digital_man
   - 19 dez 2005


Citação:
/]@t´]Quais são os campos que vc deseja que aparecam no SQL ??? Pois se colocar o COD no distinct, certamente ira trazer todos os registros...


Mais meu amigo eu preciso que ele me tire os setores repetidos por isso tem que ser por setor, mais quero poder visualizar o restante das informações do registro.!


Martins
   - 19 dez 2005

Nobre colega, acredito q usando a palavra chave DISTINCT seja meio complicado fazer da forma q vc quer, pq DISTINCT remove as linhas duplicadas.

ex:
#Código


COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0002 URBANIZAÇÃO FULANO DE TAL 2
0003 TRANSPORTES FULANO DE TAL 3
0004 TRANSPORTES FULANO DE TAL 4
0005 ADMINISTRAÇÃO FULANO DE TAL 5
0006 ADMINSITRAÇÃO FULANO DE TAL 6



Após o Distinct, no caso Select Distinct Setor, Nome, etc..., deverá ficar assim:

#Código

COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0003 TRANSPORTES FULANO DE TAL 3
0005 ADMINISTRAÇÃO FULANO DE TAL 5


Quais são exatamente os dados que devem ser mostrados?


Digital_man
   - 19 dez 2005


Citação:
Nobre colega, acredito q usando a palavra chave DISTINCT seja meio complicado fazer da forma q vc quer, pq DISTINCT remove as linhas duplicadas.

ex:
#Código


COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0002 URBANIZAÇÃO FULANO DE TAL 2
0003 TRANSPORTES FULANO DE TAL 3
0004 TRANSPORTES FULANO DE TAL 4
0005 ADMINISTRAÇÃO FULANO DE TAL 5
0006 ADMINSITRAÇÃO FULANO DE TAL 6



Após o Distinct, no caso Select Distinct Setor, Nome, etc..., deverá ficar assim:

#Código

COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0003 TRANSPORTES FULANO DE TAL 3
0005 ADMINISTRAÇÃO FULANO DE TAL 5


Quais são exatamente os dados que devem ser mostrados?



Certo vc chegou onde eu queria, quando dou o select com distinc realmente ele tira as duplicações so que ele so me mostra o setor tipo assim.
DISTINCT seja meio complicado fazer da forma q vc quer, pq DISTINCT remove as linhas duplicadas.

ex:
#Código

COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0002 URBANIZAÇÃO FULANO DE TAL 2
0003 TRANSPORTES FULANO DE TAL 3
0004 TRANSPORTES FULANO DE TAL 4
0005 ADMINISTRAÇÃO FULANO DE TAL 5
0006 ADMINSITRAÇÃO FULANO DE TAL 6



Após o Distinct, no caso Select Distinct Setor, Nome, etc..., deverá ficar assim:

#Código

COD SETOR
---------------------------
0001 01
0003 02
0005 03

Estou dando select distinct setor from tabela. minha tabela e formada da seguinte maneira

cod setor nome
01 01 centro
02 03 saudade

so que depois do distinct ele so mostra isso
setor
01
03

se eu por select distinct setor,nome from tabela o distinct me traz arquivos repetidos.
deu pra sacar , não quero os repetidos mais quero que ele me traga a informações completa dos naum repetidos com todos os campos.


Digital_man
   - 22 dez 2005


Citação:

Citação:
Nobre colega, acredito q usando a palavra chave DISTINCT seja meio complicado fazer da forma q vc quer, pq DISTINCT remove as linhas duplicadas.

ex:
#Código


COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0002 URBANIZAÇÃO FULANO DE TAL 2
0003 TRANSPORTES FULANO DE TAL 3
0004 TRANSPORTES FULANO DE TAL 4
0005 ADMINISTRAÇÃO FULANO DE TAL 5
0006 ADMINSITRAÇÃO FULANO DE TAL 6



Após o Distinct, no caso Select Distinct Setor, Nome, etc..., deverá ficar assim:

#Código

COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0003 TRANSPORTES FULANO DE TAL 3
0005 ADMINISTRAÇÃO FULANO DE TAL 5


Quais são exatamente os dados que devem ser mostrados?



Certo vc chegou onde eu queria, quando dou o select com distinc realmente ele tira as duplicações so que ele so me mostra o setor tipo assim.
DISTINCT seja meio complicado fazer da forma q vc quer, pq DISTINCT remove as linhas duplicadas.

ex:
#Código

COD SETOR NOME
-------------------------------------------------------
0001 URBANIZAÇÃO FULANO DE TAL 1
0002 URBANIZAÇÃO FULANO DE TAL 2
0003 TRANSPORTES FULANO DE TAL 3
0004 TRANSPORTES FULANO DE TAL 4
0005 ADMINISTRAÇÃO FULANO DE TAL 5
0006 ADMINSITRAÇÃO FULANO DE TAL 6



Após o Distinct, no caso Select Distinct Setor, Nome, etc..., deverá ficar assim:

#Código

COD SETOR
---------------------------
0001 01
0003 02
0005 03

Estou dando select distinct setor from tabela. minha tabela e formada da seguinte maneira

cod setor nome
01 01 centro
02 03 saudade

so que depois do distinct ele so mostra isso
setor
01
03

se eu por select distinct setor,nome from tabela o distinct me traz arquivos repetidos.
deu pra sacar , não quero os repetidos mais quero que ele me traga a informações completa dos naum repetidos com todos os campos.

Aqui vai novamente eu tinha escrito errado, aguardo respostas.


Martins
   - 22 dez 2005

Deveria funcionar exatamente como exemplificado, queira verificar se não existem campos q fazem a instrução entender q os dados são distintos.

Ex:

#Código


SETOR NOME
-------------------------------------------------------
URBANIZAÇÃO FULANO DE TAL 1
URBANIZAÇÃO FULANO DE TAL 1
TRANSPORTES FULANO DE TAL 3
TRANSPORTES FULANO DE TAL 4
ADMINISTRAÇÃO FULANO DE TAL 5
ADMINSITRAÇÃO FULANO DE TAL 5


Retorno
PS: Corrigindo alguns posts anteriores.
Ex:

#Código

SETOR NOME
------------------------------------------------
URBANIZAÇÃO FULANO DE TAL 1
TRANSPORTES FULANO DE TAL 3
TRANSPORTES FULANO DE TAL 4
ADMINSITRAÇÃO FULANO DE TAL 5


veja q Setor (TRANSPORTES) é repetido mas Nome não.

Desconsiderar os exemplos anteriores, por favor, pois o campo código é diferente o q forçaria o retorno de todos os campos tb.

verifique se não existem situãção semelhantes em sua tabela.


Digital_man
   - 23 dez 2005


Citação:
Deveria funcionar exatamente como exemplificado, queira verificar se não existem campos q fazem a instrução entender q os dados são distintos.

Ex:

#Código


SETOR NOME
-------------------------------------------------------
URBANIZAÇÃO FULANO DE TAL 1
URBANIZAÇÃO FULANO DE TAL 1
TRANSPORTES FULANO DE TAL 3
TRANSPORTES FULANO DE TAL 4
ADMINISTRAÇÃO FULANO DE TAL 5
ADMINSITRAÇÃO FULANO DE TAL 5


Retorno
PS: Corrigindo alguns posts anteriores.
Ex:

#Código

SETOR NOME
------------------------------------------------
URBANIZAÇÃO FULANO DE TAL 1
TRANSPORTES FULANO DE TAL 3
TRANSPORTES FULANO DE TAL 4
ADMINSITRAÇÃO FULANO DE TAL 5


veja q Setor (TRANSPORTES) é repetido mas Nome não.

Desconsiderar os exemplos anteriores, por favor, pois o campo código é diferente o q forçaria o retorno de todos os campos tb.

verifique se não existem situãção semelhantes em sua tabela.


Beleza so q o problema e que o meu setor e CODIGO, tenho os campos COD > NUMERICO, SETOR > NUMERICO, NOME > TEXTO.
Entendeu? naum e texto.!!


Martins
   - 23 dez 2005

Certo, mostre aqui parte da sequencia q está repetida e q não deveria está, deixe-nos ver por favor.

valew!!!


Digital_man
   - 23 dez 2005


Citação:
Certo, mostre aqui parte da sequencia q está repetida e q não deveria está, deixe-nos ver por favor.

valew!!!


Olha deixa eu explicar o meu banco e Firebird 1.5 - Delphi 7.

Meu banco e o seguinte

COD < NUMERICO | SETOR < NUMERICO | NOME < TEXTO.

COMO MEU BANCO ESTA , ESSA INFORMAÇÃO E REAL.

COD SETOR NOME
01 20 SEFIN
02 30 SEMAS
03 40 OBRAS
04 20 SEFIN < ESTE AQUI E REPETIDO

Quando uso na query select distinct setor from tabela;

Ele me retorna em um Dbgrid a seguinte informação.

SETOR
20
30
40
O REPETIDO QUE EXISTE ELE NAUM MOSTRA. SO QUE NAUM QUERO SO A INFORMAÇÃO DO SETOR, DEPOIS DE USAR O MEMSO SELECT QUERO A SEGUINTE INFORMAÇÃO NO DBGRID.
QUERO ASSIM

COD SETOR NOME
01 20 SEFIN
02 30 SEMAS
03 40 OBRAS

SEM O REPETIDO MAIS ME MOSTRANDO TUDO NA DBGRID.

TENTEI USAR ASSIM SELECT DISTINCT SETOR,NOME FROM TABELA;

dai ele me mostra setor e nome so que naum tira os repetidos.









Digital_man
   - 23 dez 2005

Ai galera de tanto tentar acertei, mais agradeço a ajuda de todos e aqui vai o codigo para alguem tb acertar se naum souber.


select distinct(setor),nome, descricao from tabela;

Valew. :D


Martins
   - 23 dez 2005


Citação:
Ai galera de tanto tentar acertei, mais agradeço a ajuda de todos e aqui vai o codigo para alguem tb acertar se naum souber.


select distinct(setor),nome, descricao from tabela;

Valew. :D


Parabens!!!!