SELECT DISTINCT COM TODOS OS CAMPOS DO BANCO
Pessoal...
Como faço um SELECT DISTINCT com todas os campos do Banco ???
é que um campo contém informações duplicadas, e os demais não...então, quero fazer DISTINCT nesse campo e carregar os demais normalmente.
Como faço um SELECT DISTINCT com todas os campos do Banco ???
é que um campo contém informações duplicadas, e os demais não...então, quero fazer DISTINCT nesse campo e carregar os demais normalmente.
Para selecionar os valores em um modo único sem duplicação, segue-se o exemplo:
MinhaTabela
---------------------------------------
Nome Cliente | Cidade
---------------------------------------
Claudio | São Paulo
Kleber | São Paulo
Fernando | Leme
Charleston | Pirassununga
---------------------------------------
SELECT DISTINCT * FROM MinhaTabela
(*) todos
Resultados do Select
-------------------
São Paulo
Leme
Pirassununga
-------------------
[ô]->
MinhaTabela
---------------------------------------
Nome Cliente | Cidade
---------------------------------------
Claudio | São Paulo
Kleber | São Paulo
Fernando | Leme
Charleston | Pirassununga
---------------------------------------
SELECT DISTINCT * FROM MinhaTabela
(*) todos
Resultados do Select
-------------------
São Paulo
Leme
Pirassununga
-------------------
[ô]->
Já tentei assim CHARLESTON10 e pega tudo...com as repetições também...
Também não deu...
Seguinte...minha tabela tem 4 campos: Controle, Usuario, Senha e Data,
onde o campo Usuario pode e tem nomes repetidos...o que quero é filtrar com DISTINCT o campo Usuario, e apresente no ListView tanto o campo Usuario, quanto os demais campos...
Seguinte...minha tabela tem 4 campos: Controle, Usuario, Senha e Data,
onde o campo Usuario pode e tem nomes repetidos...o que quero é filtrar com DISTINCT o campo Usuario, e apresente no ListView tanto o campo Usuario, quanto os demais campos...
DISTINCT agrupa os registros retornados pelo SELECT que são iguais.
No exemplo acima, retorna os campos [ô]nome cliente[ô] e cidade, onde cidade [ô]são paulo[ô] está duplicada porém o distint não agrupa porque o campo [ô]nome cliente[ô] não é igual.
O exemplo funcionaria se o campo com conteudo [ô]Kleber[ô] fosse trocado para o conteudo [ô]Claudio[ô]
No exemplo acima, retorna os campos [ô]nome cliente[ô] e cidade, onde cidade [ô]são paulo[ô] está duplicada porém o distint não agrupa porque o campo [ô]nome cliente[ô] não é igual.
O exemplo funcionaria se o campo com conteudo [ô]Kleber[ô] fosse trocado para o conteudo [ô]Claudio[ô]
Amigo, o que exatamente vc precisa, acho que tem outras formas de se fazer isso...
Ter tem, é que pensei que apenas o DISTINCT faria...
então vou refazer meu script, criando um SELECT DISTINCT com o campo [Ô]Usuario[Ô] e armazenar em um vetor, depois irei fazer outro SELECT, só que com WHERE com cada nome armazenado no vetor...
Eu só estava tentando evitar isso...
então vou refazer meu script, criando um SELECT DISTINCT com o campo [Ô]Usuario[Ô] e armazenar em um vetor, depois irei fazer outro SELECT, só que com WHERE com cada nome armazenado no vetor...
Eu só estava tentando evitar isso...
A pergunta é o que vc precisa fazer?
Citação:o que quero é filtrar com DISTINCT o campo Usuario, e apresente no ListView tanto o campo Usuario, quanto os demais campos...
Consegui !
mas tive que criar 2 RecordSet[ô]s...um com os dados do DISTINCT e o outro fazendo um SELECT WHERE com o que foi encontrado no DISTINCT:
Sub Filtragem()
Dim SQL_Dst As String
Dim CL As New Collection
Dim Ls As ListItem
Dim Nome As String
SQL_Dst = [Ô]SELECT DISTINCT Usuario FROM Infos[Ô]
Abrir_Conexao
Set Rs = Con.Execute(SQL_Dst)
Do Until Rs.EOF
Nome = Rs!Usuario
CL.Add Nome
Rs.MoveNext
Loop
Lv1.ListItems.Clear
For Each nm In CL
Set Rs2 = Con.Execute([Ô]SELECT Controle,Usuario,Senha,Data FROM Infos WHERE Usuario=[ô][Ô] & nm & [Ô][ô] ORDER BY Controle ASC [Ô])
Set Ls = Lv1.ListItems.Add(, , , 3, 3)
With Ls
.Text = Rs2.Fields(0)
.SubItems(1) = Rs2.Fields(1)
.SubItems(2) = Rs2.Fields(2)
.SubItems(3) = Format(Rs2.Fields(3), [Ô]dd/MM/yyyy - hh:mm:ss[Ô])
End With
Rs2.MoveNext
Next nm
Set Rs = Nothing
Set Rs2 = Nothing
Con.Close
End Sub
Issoae
Tópico encerrado , respostas não são mais permitidas